1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.millscript.tools;
22
23 import java.io.IOException;
24 import java.io.StringReader;
25
26 import junit.framework.TestCase;
27
28 /**
29 * @
30 */
31 public class PushbackLinenumberReaderTest extends TestCase {
32
33 /**
34 * Constructor for PushbackLinenumberReaderTest.
35 * @param arg0
36 */
37 public PushbackLinenumberReaderTest(String arg0) {
38 super( arg0 );
39 }
40
41 public void testClose() {
42 }
43
44
45
46
47 public void testGetLineNumber() {
48 final PushbackLinenumberReader PLR = new PushbackLinenumberReader(
49 new StringReader( "hello\nthere\rThis\r\nis\n\ra test\n string" ),
50 8,
51 0
52 );
53
54 try {
55 assertEquals( 1, PLR.getLineNumber() );
56 int ch;
57 StringBuffer token = new StringBuffer();
58 while( ( ch = PLR.read() ) != '\n' ) {
59 token.append( (char) ch );
60 }
61 assertEquals( "hello", token.toString() );
62 assertEquals( 2, PLR.getLineNumber() );
63 } catch ( IOException ex ) {
64 System.err.println( ex.getMessage() );
65 }
66
67
68 try {
69 assertEquals( 2, PLR.getLineNumber() );
70 int ch;
71 StringBuffer token = new StringBuffer();
72 while( ( ch = PLR.read() ) != '\n' ) {
73 token.append( (char) ch );
74 }
75 assertEquals( "there", token.toString() );
76 assertEquals( 3, PLR.getLineNumber() );
77 } catch ( IOException ex ) {
78 System.err.println( ex.getMessage() );
79 }
80
81
82 try {
83 assertEquals( 3, PLR.getLineNumber() );
84 int ch;
85 StringBuffer token = new StringBuffer();
86 while( ( ch = PLR.read() ) != '\n' ) {
87 token.append( (char) ch );
88 }
89 assertEquals( "This", token.toString() );
90 assertEquals( 4, PLR.getLineNumber() );
91 } catch ( IOException ex ) {
92 System.err.println( ex.getMessage() );
93 }
94
95
96 try {
97 assertEquals( 4, PLR.getLineNumber() );
98 int ch;
99
100 StringBuffer token = new StringBuffer();
101 while( ( ch = PLR.read() ) != '\n' ) {
102 token.append( (char) ch );
103 }
104 assertEquals( "is", token.toString() );
105 assertEquals( 5, PLR.getLineNumber() );
106
107 token.setLength( 0 );
108
109
110 while( ( ch = PLR.read() ) != '\n' ) {
111 token.append( (char) ch );
112 }
113 assertEquals( "", token.toString() );
114 assertEquals( 6, PLR.getLineNumber() );
115 } catch ( IOException ex ) {
116 System.err.println( ex.getMessage() );
117 }
118
119 try {
120 assertEquals( 6, PLR.getLineNumber() );
121 int ch;
122 StringBuffer token = new StringBuffer();
123 while( ( ch = PLR.read() ) != '\n' ) {
124 token.append( (char) ch );
125 }
126 assertEquals( "a test", token.toString() );
127 assertEquals( 7, PLR.getLineNumber() );
128 token.setLength( 0 );
129 while( ( ch = PLR.read() ) != '\n' && ch != -1 ) {
130 token.append( (char) ch );
131 }
132 assertEquals( " string", token.toString() );
133 assertEquals( 7, PLR.getLineNumber() );
134 } catch ( IOException ex ) {
135 System.err.println( ex.getMessage() );
136 }
137 }
138
139 public void testMark() {
140 }
141
142 public void testMarkSupported() {
143 }
144
145
146
147
148 public void testRead() {
149 final PushbackLinenumberReader PLR = new PushbackLinenumberReader( new StringReader( "hello" ) );
150 StringBuffer buffer = new StringBuffer();
151 int ch;
152 try {
153 while( ( ch = PLR.read() ) != -1 ) {
154 buffer.append( (char) ch );
155 }
156 assertEquals( "hello", buffer.toString() );
157 } catch ( IOException ex ) {
158 System.err.println( ex.getMessage() );
159 }
160 }
161
162
163
164
165 public void testReadcharArray() {
166 }
167
168
169
170
171 public void testReadcharArrayintint() {
172 final PushbackLinenumberReader PLR = new PushbackLinenumberReader(
173 new StringReader( "hello there. This is a test string" ),
174 8,
175 0
176 );
177
178 char[] buffer = new char[5];
179 try {
180 PLR.read( buffer, 0, 5 );
181 assertEquals( "hello", new String( buffer ) );
182 } catch ( IOException ex ) {
183 System.err.println( ex.getMessage() );
184 }
185
186
187 char[] newbuffer = new char[25];
188
189 System.arraycopy( buffer, 0, newbuffer, 0, 5 );
190 try {
191 PLR.read( newbuffer, 5, 20 );
192 assertEquals( "hello there. This is a te", new String( newbuffer ) );
193 } catch ( IOException ex ) {
194 System.err.println( ex.getMessage() );
195 }
196
197 char[] lastbuffer = new char[25];
198 try {
199 PLR.read( lastbuffer, 0, 25 );
200
201
202 assertEquals( "st string", new String( lastbuffer ).trim() );
203 } catch ( IOException ex ) {
204 System.err.println( ex.getMessage() );
205 }
206 }
207
208
209
210
211 public void testReadLine() {
212 final PushbackLinenumberReader PLR = new PushbackLinenumberReader(
213 new StringReader( "hello\nthere\rThis\r\nis\n\ra test\n string" ),
214 8,
215 0
216 );
217
218 try {
219 assertEquals( 1, PLR.getLineNumber() );
220 String line = PLR.readLine();
221 assertEquals( "hello", line );
222 assertEquals( 2, PLR.getLineNumber() );
223 line = PLR.readLine();
224 assertEquals( "there", line );
225 assertEquals( 3, PLR.getLineNumber() );
226 line = PLR.readLine();
227 assertEquals( "This", line );
228 assertEquals( 4, PLR.getLineNumber() );
229 while( ( line = PLR.readLine() ) != null ) {
230 }
231 assertEquals( 7, PLR.getLineNumber() );
232 } catch ( IOException ex ) {
233 System.err.println( ex.getMessage() );
234 }
235 }
236
237 public void testReady() {
238 }
239
240
241
242
243 public void testReset() {
244 }
245
246
247
248
249 public void testSetLineNumber() {
250 }
251
252
253
254
255 public void testSkip() {
256 final PushbackLinenumberReader PLR = new PushbackLinenumberReader(
257 new StringReader( "hello there. This is a test string" ),
258 8,
259 0
260 );
261
262 char[] newbuffer = new char[25];
263 try {
264 PLR.skip( 3 );
265 PLR.read( newbuffer, 0, 5 );
266 assertEquals( "lo th", new String( newbuffer ).trim() );
267 } catch ( IOException ex ) {
268 System.err.println( ex.getMessage() );
269 }
270 try {
271 PLR.skip( 10 );
272 PLR.read( newbuffer, 2, 9 );
273 assertEquals( "lois a test", new String( newbuffer ).trim() );
274 } catch ( IOException ex ) {
275 System.err.println( ex.getMessage() );
276 }
277 }
278
279
280
281
282 public void testUnread() {
283 try {
284 final PushbackLinenumberReader PLR = new PushbackLinenumberReader(
285 new StringReader( "hello there. This is a test string" ),
286 8,
287 0
288 );
289 char[] newbuffer = new char[5];
290 PLR.skip( 3 );
291 PLR.unread( 'X' );
292 PLR.read( newbuffer, 0, 5 );
293 assertEquals( "Xlo t", new String( newbuffer ) );
294 } catch ( IOException ex ) {
295 System.err.println( ex.getMessage() );
296 assertFalse( true );
297 }
298 try {
299 final PushbackLinenumberReader PLR = new PushbackLinenumberReader(
300 new StringReader( "hello there. This is a test string" ),
301 8,
302 1
303 );
304 char[] newbuffer = new char[5];
305 PLR.unread( 'X' );
306 PLR.read( newbuffer, 0, 5 );
307 assertEquals( "Xhell", new String( newbuffer ) );
308 } catch ( IOException ex ) {
309 System.err.println( ex.getMessage() );
310 assertFalse( true );
311 }
312 }
313
314
315
316
317 public void testUnreadcharArray() {
318 }
319
320
321
322
323 public void testUnreadcharArrayintint() {
324 try {
325 final PushbackLinenumberReader PLR = new PushbackLinenumberReader(
326 new StringReader( "hello there. This is a test string" ),
327 12,
328 12
329 );
330 char[] newbuffer = new char[5];
331 PLR.read( newbuffer, 0, 5 );
332 PLR.unread( new char[] { 'r','u','b','b','i','s','h' } );
333 PLR.read( newbuffer, 0, 5 );
334 assertEquals( "rubbi", new String( newbuffer ) );
335 } catch ( IOException ex ) {
336 System.err.println( ex.getMessage() );
337 assertFalse( true );
338 }
339 }
340
341
342
343
344 public void testPushbackLinenumberReaderReader() {
345 new PushbackLinenumberReader( new StringReader( "" ) );
346 }
347
348
349
350
351 public void testPushbackLinenumberReaderReaderintint() {
352 new PushbackLinenumberReader( new StringReader( "" ), 4192, 1024 );
353 }
354
355 }