OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / libcore / luni / src / test / java / tests / api / java / io / PrintStreamTest.java
1 /*
2  *  Licensed to the Apache Software Foundation (ASF) under one or more
3  *  contributor license agreements.  See the NOTICE file distributed with
4  *  this work for additional information regarding copyright ownership.
5  *  The ASF licenses this file to You under the Apache License, Version 2.0
6  *  (the "License"); you may not use this file except in compliance with
7  *  the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  */
17
18 package tests.api.java.io;
19
20 import java.io.ByteArrayInputStream;
21 import java.io.ByteArrayOutputStream;
22 import java.io.InputStreamReader;
23 import java.io.DataInputStream;
24 import java.io.File;
25 import java.io.FileNotFoundException;
26 import java.io.IOException;
27 import java.io.OutputStream;
28 import java.io.PrintStream;
29 import java.io.UnsupportedEncodingException;
30 import java.util.Locale;
31
32 public class PrintStreamTest extends junit.framework.TestCase {
33
34     ByteArrayOutputStream bos = new ByteArrayOutputStream();
35
36     byte[] ibuf = new byte[4096];
37
38     private File testFile = null;
39
40     private String testFilePath = null;
41
42     public String fileString = "Test_All_Tests\nTest_java_io_BufferedInputStream\nTest_java_io_BufferedOutputStream\nTest_java_io_ByteArrayInputStream\nTest_java_io_ByteArrayOutputStream\nTest_java_io_DataInputStream\nTest_java_io_File\nTest_java_io_FileDescriptor\nTest_java_io_FileInputStream\nTest_java_io_FileNotFoundException\nTest_java_io_FileOutputStream\nTest_java_io_FilterInputStream\nTest_java_io_FilterOutputStream\nTest_java_io_InputStream\nTest_java_io_IOException\nTest_java_io_OutputStream\nTest_PrintStream\nTest_java_io_RandomAccessFile\nTest_java_io_SyncFailedException\nTest_java_lang_AbstractMethodError\nTest_java_lang_ArithmeticException\nTest_java_lang_ArrayIndexOutOfBoundsException\nTest_java_lang_ArrayStoreException\nTest_java_lang_Boolean\nTest_java_lang_Byte\nTest_java_lang_Character\nTest_java_lang_Class\nTest_java_lang_ClassCastException\nTest_java_lang_ClassCircularityError\nTest_java_lang_ClassFormatError\nTest_java_lang_ClassLoader\nTest_java_lang_ClassNotFoundException\nTest_java_lang_CloneNotSupportedException\nTest_java_lang_Double\nTest_java_lang_Error\nTest_java_lang_Exception\nTest_java_lang_ExceptionInInitializerError\nTest_java_lang_Float\nTest_java_lang_IllegalAccessError\nTest_java_lang_IllegalAccessException\nTest_java_lang_IllegalArgumentException\nTest_java_lang_IllegalMonitorStateException\nTest_java_lang_IllegalThreadStateException\nTest_java_lang_IncompatibleClassChangeError\nTest_java_lang_IndexOutOfBoundsException\nTest_java_lang_InstantiationError\nTest_java_lang_InstantiationException\nTest_java_lang_Integer\nTest_java_lang_InternalError\nTest_java_lang_InterruptedException\nTest_java_lang_LinkageError\nTest_java_lang_Long\nTest_java_lang_Math\nTest_java_lang_NegativeArraySizeException\nTest_java_lang_NoClassDefFoundError\nTest_java_lang_NoSuchFieldError\nTest_java_lang_NoSuchMethodError\nTest_java_lang_NullPointerException\nTest_java_lang_Number\nTest_java_lang_NumberFormatException\nTest_java_lang_Object\nTest_java_lang_OutOfMemoryError\nTest_java_lang_RuntimeException\nTest_java_lang_SecurityManager\nTest_java_lang_Short\nTest_java_lang_StackOverflowError\nTest_java_lang_String\nTest_java_lang_StringBuffer\nTest_java_lang_StringIndexOutOfBoundsException\nTest_java_lang_System\nTest_java_lang_Thread\nTest_java_lang_ThreadDeath\nTest_java_lang_ThreadGroup\nTest_java_lang_Throwable\nTest_java_lang_UnknownError\nTest_java_lang_UnsatisfiedLinkError\nTest_java_lang_VerifyError\nTest_java_lang_VirtualMachineError\nTest_java_lang_vm_Image\nTest_java_lang_vm_MemorySegment\nTest_java_lang_vm_ROMStoreException\nTest_java_lang_vm_VM\nTest_java_lang_Void\nTest_java_net_BindException\nTest_java_net_ConnectException\nTest_java_net_DatagramPacket\nTest_java_net_DatagramSocket\nTest_java_net_DatagramSocketImpl\nTest_java_net_InetAddress\nTest_java_net_NoRouteToHostException\nTest_java_net_PlainDatagramSocketImpl\nTest_java_net_PlainSocketImpl\nTest_java_net_Socket\nTest_java_net_SocketException\nTest_java_net_SocketImpl\nTest_java_net_SocketInputStream\nTest_java_net_SocketOutputStream\nTest_java_net_UnknownHostException\nTest_java_util_ArrayEnumerator\nTest_java_util_Date\nTest_java_util_EventObject\nTest_java_util_HashEnumerator\nTest_java_util_Hashtable\nTest_java_util_Properties\nTest_java_util_ResourceBundle\nTest_java_util_tm\nTest_java_util_Vector\n";
43
44     private static class MockPrintStream extends PrintStream {
45
46                 public MockPrintStream(String fileName) throws FileNotFoundException {
47                         super(fileName);
48                 }
49                 
50                 public MockPrintStream(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException {
51                         super(fileName, csn);
52                 }
53                 
54                 public MockPrintStream(OutputStream os) {
55                         super(os);
56                 }
57
58         @Override
59         public void clearError() {
60             super.clearError();
61         }
62
63                 @Override
64                 public void setError() {
65                         super.setError();
66                 }
67     }
68
69     /**
70      * @tests {@link java.io.PrintStream#PrintStream(String)}
71      */
72     public void test_Constructor_Ljava_lang_String() throws IOException {
73         MockPrintStream os = new MockPrintStream(testFilePath);
74         assertNotNull(os);
75         os.close();
76         }
77
78     /**
79      * @tests {@link java.io.PrintStream#PrintStream(String, String)}
80      */
81     public void test_Constructor_Ljava_lang_String_Ljava_lang_String() throws Exception {
82         MockPrintStream os = new MockPrintStream(testFilePath, "utf-8");
83         assertNotNull(os);
84         os.close();
85     }
86
87     /**
88      * @tests java.io.PrintStream#PrintStream(java.io.OutputStream)
89      */
90     public void test_ConstructorLjava_io_OutputStream() throws Exception {
91         // Test for method java.io.PrintStream(java.io.OutputStream)
92         PrintStream os = new PrintStream(bos);
93         os.print(2345.76834720202);
94         os.close();
95
96         // regression for HARMONY-1195
97         try {
98             os = new PrintStream(bos, true, null);
99             fail("Should throw NPE");
100         } catch (NullPointerException e) {}
101     }
102
103     /**
104      * @tests java.io.PrintStream#PrintStream(java.io.OutputStream, boolean)
105      */
106     public void test_ConstructorLjava_io_OutputStreamZ() {
107         // Test for method java.io.PrintStream(java.io.OutputStream, boolean)
108         PrintStream os = new PrintStream(bos);
109         os.println(2345.76834720202);
110         os.flush();
111         assertTrue("Bytes not written", bos.size() > 0);
112         os.close();
113     }
114
115     /**
116      * @tests java.io.PrintStream#PrintStream(java.io.OutputStream, boolean, String)
117      */
118     public void test_ConstructorLjava_io_OutputStreamZLjava_lang_String() {
119         try {
120             new PrintStream(new ByteArrayOutputStream(), false,
121                     "%Illegal_name!");
122             fail("Expected UnsupportedEncodingException");
123         } catch (UnsupportedEncodingException e) {
124             // expected
125         }
126     }
127
128     /**
129      * @tests java.io.PrintStream#checkError()
130      */
131     public void test_checkError() throws Exception {
132         // Test for method boolean java.io.PrintStream.checkError()
133         PrintStream os = new PrintStream(new OutputStream() {
134
135             public void write(int b) throws IOException {
136                 throw new IOException();
137             }
138
139             public void write(byte[] b, int o, int l) throws IOException {
140                 throw new IOException();
141             }
142         });
143         os.print(fileString.substring(0, 501));
144
145         assertTrue("Checkerror should return true", os.checkError());
146     }
147
148     /**
149      * @tests {@link java.io.PrintStream#clearError()}
150      */
151     public void test_clearError() throws FileNotFoundException {
152         MockPrintStream os = new MockPrintStream(testFilePath);
153         assertFalse(os.checkError());
154         os.setError();
155         assertTrue(os.checkError());
156         os.clearError();
157         assertFalse(os.checkError());
158         os.close();
159     }
160
161     /**
162      * @tests java.io.PrintStream#close()
163      */
164     public void test_close() throws Exception {
165         // Test for method void java.io.PrintStream.close()
166         PrintStream os = new PrintStream(bos);
167         os.close();
168         bos.close();
169     }
170
171     /**
172      * @tests java.io.PrintStream#flush()
173      */
174     public void test_flush() throws Exception {
175         // Test for method void java.io.PrintStream.flush()
176         PrintStream os = new PrintStream(bos);
177         os.print(fileString.substring(0, 501));
178         os.flush();
179         assertEquals("Bytes not written after flush", 501, bos.size());
180         bos.close();
181         os.close();
182     }
183
184     /**
185      * @tests java.io.PrintStream#print(char[])
186      */
187     public void test_print$C() {
188         // Test for method void java.io.PrintStream.print(char [])
189         PrintStream os = new PrintStream(bos, true);
190         try {
191             os.print((char[]) null);
192             fail("NPE expected");
193         } catch (NullPointerException ok) {}
194
195         os = new PrintStream(bos, true);
196         char[] sc = new char[4000];
197         fileString.getChars(0, fileString.length(), sc, 0);
198         os.print(sc);
199         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
200         os.close();
201
202         byte[] rbytes = new byte[4000];
203         bis.read(rbytes, 0, fileString.length());
204         assertEquals("Incorrect char[] written", fileString, new String(rbytes,
205                 0, fileString.length()));
206     }
207
208     /**
209      * @tests java.io.PrintStream#print(char)
210      */
211     public void test_printC() throws Exception {
212         // Test for method void java.io.PrintStream.print(char)
213         PrintStream os = new PrintStream(bos, true);
214         os.print('t');
215         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
216         InputStreamReader isr = new InputStreamReader(bis);
217         assertEquals("Incorrect char written", 't', isr.read());
218     }
219
220     /**
221      * @tests java.io.PrintStream#print(double)
222      */
223     public void test_printD() {
224         // Test for method void java.io.PrintStream.print(double)
225         byte[] rbuf = new byte[100];
226         PrintStream os = new PrintStream(bos, true);
227         os.print(2345.76834720202);
228         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
229         bis.read(rbuf, 0, 16);
230         assertEquals("Incorrect double written", "2345.76834720202",
231                 new String(rbuf, 0, 16));
232     }
233
234     /**
235      * @tests java.io.PrintStream#print(float)
236      */
237     public void test_printF() {
238         // Test for method void java.io.PrintStream.print(float)
239         PrintStream os = new PrintStream(bos, true);
240         byte rbuf[] = new byte[10];
241         os.print(29.08764f);
242         os.flush();
243         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
244         bis.read(rbuf, 0, 8);
245         assertEquals("Incorrect float written", "29.08764", new String(rbuf, 0,
246                 8));
247
248     }
249
250     /**
251      * @tests java.io.PrintStream#print(int)
252      */
253     public void test_printI() {
254         // Test for method void java.io.PrintStream.print(int)
255         PrintStream os = new PrintStream(bos, true);
256         os.print(768347202);
257         byte[] rbuf = new byte[18];
258         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
259         bis.read(rbuf, 0, 9);
260         assertEquals("Incorrect int written", "768347202", new String(rbuf, 0,
261                 9));
262     }
263
264     /**
265      * @tests java.io.PrintStream#print(long)
266      */
267     public void test_printJ() {
268         // Test for method void java.io.PrintStream.print(long)
269         byte[] rbuf = new byte[100];
270         PrintStream os = new PrintStream(bos, true);
271         os.print(9875645283333L);
272         os.close();
273         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
274         bis.read(rbuf, 0, 13);
275         assertEquals("Incorrect long written", "9875645283333", new String(
276                 rbuf, 0, 13));
277     }
278
279     /**
280      * @tests java.io.PrintStream#print(java.lang.Object)
281      */
282     public void test_printLjava_lang_Object() throws Exception {
283         // Test for method void java.io.PrintStream.print(java.lang.Object)
284         PrintStream os = new PrintStream(bos, true);
285         os.print((Object) null);
286         os.flush();
287         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
288         byte[] nullbytes = new byte[4];
289         bis.read(nullbytes, 0, 4);
290         assertEquals("null should be written", "null", new String(nullbytes, 0,
291                 4));
292
293         bis.close();
294         bos.close();
295         os.close();
296
297         ByteArrayOutputStream bos1 = new ByteArrayOutputStream();
298         os = new PrintStream(bos1, true);
299         os.print(new java.util.Vector());
300         bis = new ByteArrayInputStream(bos1.toByteArray());
301         byte[] rbytes = new byte[2];
302         bis.read(rbytes, 0, 2);
303         assertEquals("Incorrect Object written", "[]", new String(rbytes, 0, 2));
304     }
305
306     /**
307      * @tests java.io.PrintStream#print(java.lang.String)
308      */
309     public void test_printLjava_lang_String() throws Exception {
310         // Test for method void java.io.PrintStream.print(java.lang.String)
311         PrintStream os = new PrintStream(bos, true);
312         os.print((String) null);
313         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
314         byte[] nullbytes = new byte[4];
315         bis.read(nullbytes, 0, 4);
316         assertEquals("null should be written", "null", new String(nullbytes, 0,
317                 4));
318
319         bis.close();
320         bos.close();
321         os.close();
322
323         ByteArrayOutputStream bos1 = new ByteArrayOutputStream();
324         os = new PrintStream(bos1, true);
325         os.print("Hello World");
326         bis = new ByteArrayInputStream(bos1.toByteArray());
327         byte rbytes[] = new byte[100];
328         bis.read(rbytes, 0, 11);
329         assertEquals("Incorrect string written", "Hello World", new String(
330                 rbytes, 0, 11));
331     }
332
333     /**
334      * @tests java.io.PrintStream#print(boolean)
335      */
336     public void test_printZ() throws Exception {
337         // Test for method void java.io.PrintStream.print(boolean)
338         PrintStream os = new PrintStream(bos, true);
339         os.print(true);
340         DataInputStream dis = new DataInputStream(new ByteArrayInputStream(bos
341                 .toByteArray()));
342
343         assertTrue("Incorrect boolean written", dis.readBoolean());
344     }
345
346     /**
347      * @tests java.io.PrintStream#println()
348      */
349     public void test_println() throws Exception {
350         // Test for method void java.io.PrintStream.println()
351         char c;
352         PrintStream os = new PrintStream(bos, true);
353         os.println("");
354         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
355         InputStreamReader isr = new InputStreamReader(bis);
356         assertTrue("Newline not written", (c = (char) isr.read()) == '\r'
357                 || c == '\n');
358     }
359
360     /**
361      * @tests java.io.PrintStream#println(char[])
362      */
363     public void test_println$C() throws Exception {
364         // Test for method void java.io.PrintStream.println(char [])
365         PrintStream os = new PrintStream(bos, true);
366         char[] sc = new char[4000];
367         fileString.getChars(0, fileString.length(), sc, 0);
368         os.println(sc);
369         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
370         InputStreamReader isr = new InputStreamReader(bis);
371         byte[] rbytes = new byte[4000];
372         bis.read(rbytes, 0, fileString.length());
373         assertEquals("Incorrect char[] written", fileString, new String(rbytes,
374                 0, fileString.length()));
375
376         // In this particular test method, the end of data is not immediately
377         // followed by newLine separator in the reading buffer, instead its
378         // followed by zeros. The newline is written as the last entry
379         // in the inputStream buffer. Therefore, we must keep reading until we
380         // hit a new line.
381         int r;
382         boolean newline = false;
383         while ((r = isr.read()) != -1) {
384             if (r == '\r' || r == '\n')
385                 newline = true;
386         }
387         assertTrue("Newline not written", newline);
388     }
389
390     /**
391      * @tests java.io.PrintStream#println(char)
392      */
393     public void test_printlnC() throws Exception {
394         // Test for method void java.io.PrintStream.println(char)
395         int c;
396         PrintStream os = new PrintStream(bos, true);
397         os.println('t');
398         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
399         InputStreamReader isr = new InputStreamReader(bis);
400         assertEquals("Incorrect char written", 't', isr.read());
401         assertTrue("Newline not written", (c = isr.read()) == '\r' || c == '\n');
402     }
403
404     /**
405      * @tests java.io.PrintStream#println(double)
406      */
407     public void test_printlnD() throws Exception {
408         // Test for method void java.io.PrintStream.println(double)
409         int c;
410         PrintStream os = new PrintStream(bos, true);
411         os.println(2345.76834720202);
412         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
413         InputStreamReader isr = new InputStreamReader(bis);
414         byte[] rbuf = new byte[100];
415         bis.read(rbuf, 0, 16);
416         assertEquals("Incorrect double written", "2345.76834720202",
417                 new String(rbuf, 0, 16));
418         assertTrue("Newline not written", (c = isr.read()) == '\r' || c == '\n');
419     }
420
421     /**
422      * @tests java.io.PrintStream#println(float)
423      */
424     public void test_printlnF() throws Exception {
425         // Test for method void java.io.PrintStream.println(float)
426         int c;
427         byte[] rbuf = new byte[100];
428         PrintStream os = new PrintStream(bos, true);
429         os.println(29.08764f);
430         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
431         InputStreamReader isr = new InputStreamReader(bis);
432         bis.read(rbuf, 0, 8);
433         assertEquals("Incorrect float written", "29.08764", new String(rbuf, 0,
434                 8));
435         assertTrue("Newline not written", (c = isr.read()) == '\r' || c == '\n');
436     }
437
438     /**
439      * @tests java.io.PrintStream#println(int)
440      */
441     public void test_printlnI() throws Exception {
442         // Test for method void java.io.PrintStream.println(int)
443         int c;
444         PrintStream os = new PrintStream(bos, true);
445         os.println(768347202);
446         byte[] rbuf = new byte[100];
447         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
448         InputStreamReader isr = new InputStreamReader(bis);
449         bis.read(rbuf, 0, 9);
450         assertEquals("Incorrect int written", "768347202", new String(rbuf, 0,
451                 9));
452         assertTrue("Newline not written", (c = isr.read()) == '\r' || c == '\n');
453     }
454
455     /**
456      * @tests java.io.PrintStream#println(long)
457      */
458     public void test_printlnJ() throws Exception {
459         // Test for method void java.io.PrintStream.println(long)
460         int c;
461         PrintStream os = new PrintStream(bos, true);
462         os.println(9875645283333L);
463         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
464         InputStreamReader isr = new InputStreamReader(bis);
465         byte[] rbuf = new byte[100];
466         bis.read(rbuf, 0, 13);
467         assertEquals("Incorrect long written", "9875645283333", new String(
468                 rbuf, 0, 13));
469         assertTrue("Newline not written", (c = isr.read()) == '\r' || c == '\n');
470     }
471
472     /**
473      * @tests java.io.PrintStream#println(java.lang.Object)
474      */
475     public void test_printlnLjava_lang_Object() throws Exception {
476         // Test for method void java.io.PrintStream.println(java.lang.Object)
477         char c;
478         PrintStream os = new PrintStream(bos, true);
479         os.println(new java.util.Vector());
480         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
481         InputStreamReader isr = new InputStreamReader(bis);
482         byte[] rbytes = new byte[2];
483         bis.read(rbytes, 0, 2);
484         assertEquals("Incorrect Vector written", "[]", new String(rbytes, 0, 2));
485         assertTrue("Newline not written", (c = (char) isr.read()) == '\r'
486                 || c == '\n');
487     }
488
489     /**
490      * @tests java.io.PrintStream#println(java.lang.String)
491      */
492     public void test_printlnLjava_lang_String() throws Exception {
493         // Test for method void java.io.PrintStream.println(java.lang.String)
494         char c;
495         PrintStream os = new PrintStream(bos, true);
496         os.println("Hello World");
497         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
498         InputStreamReader isr = new InputStreamReader(bis);
499         byte rbytes[] = new byte[100];
500         bis.read(rbytes, 0, 11);
501         assertEquals("Incorrect string written", "Hello World", new String(
502                 rbytes, 0, 11));
503         assertTrue("Newline not written", (c = (char) isr.read()) == '\r'
504                 || c == '\n');
505     }
506
507     /**
508      * @tests java.io.PrintStream#println(boolean)
509      */
510     public void test_printlnZ() throws Exception {
511         // Test for method void java.io.PrintStream.println(boolean)
512         int c;
513         PrintStream os = new PrintStream(bos, true);
514         os.println(true);
515         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
516         InputStreamReader isr = new InputStreamReader(bis);
517         byte[] rbuf = new byte[100];
518         bis.read(rbuf, 0, 4);
519         assertEquals("Incorrect boolean written", "true",
520                 new String(rbuf, 0, 4));
521         assertTrue("Newline not written", (c = isr.read()) == '\r' || c == '\n');
522     }
523
524     /**
525      * @tests java.io.PrintStream#write(byte[], int, int)
526      */
527     public void test_write$BII() {
528         // Test for method void java.io.PrintStream.write(byte [], int, int)
529         PrintStream os = new PrintStream(bos, true);
530         os.write(fileString.getBytes(), 0, fileString.length());
531         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
532         byte rbytes[] = new byte[4000];
533         bis.read(rbytes, 0, fileString.length());
534         assertTrue("Incorrect bytes written", new String(rbytes, 0, fileString
535                 .length()).equals(fileString));
536     }
537
538     /**
539      * @tests java.io.PrintStream#write(int)
540      */
541     public void test_writeI() {
542         // Test for method void java.io.PrintStream.write(int)
543         PrintStream os = new PrintStream(bos, true);
544         os.write('t');
545         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
546         assertEquals("Incorrect char written", 't', bis.read());
547     }
548
549     /**
550      * @tests java.io.PrintStream#append(char)
551      */
552     public void test_appendChar() throws IOException {
553         char testChar = ' ';
554         ByteArrayOutputStream out = new ByteArrayOutputStream();
555         PrintStream printStream = new PrintStream(out);
556         printStream.append(testChar);
557         printStream.flush();
558         assertEquals(String.valueOf(testChar), out.toString());
559         printStream.close();
560     }
561
562     /**
563      * @tests java.io.PrintStream#append(CharSequence)
564      */
565     public void test_appendCharSequence() {
566         String testString = "My Test String";
567         ByteArrayOutputStream out = new ByteArrayOutputStream();
568         PrintStream printStream = new PrintStream(out);
569         printStream.append(testString);
570         printStream.flush();
571         assertEquals(testString, out.toString());
572         printStream.close();
573     }
574
575     /**
576      * @tests java.io.PrintStream#append(CharSequence, int, int)
577      */
578     public void test_appendCharSequenceIntInt() {
579         String testString = "My Test String";
580         ByteArrayOutputStream out = new ByteArrayOutputStream();
581         PrintStream printStream = new PrintStream(out);
582         printStream.append(testString, 1, 3);
583         printStream.flush();
584         assertEquals(testString.substring(1, 3), out.toString());
585         printStream.close();
586     }
587
588     /**
589      * @tests java.io.PrintStream#format(java.lang.String, java.lang.Object...)
590      */
591     public void test_formatLjava_lang_String$Ljava_lang_Object() {
592         PrintStream os = new PrintStream(bos, false);
593         os.format("%s %s", "Hello", "World");
594         os.flush();
595         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
596         byte[] rbytes = new byte[11];
597         bis.read(rbytes, 0, rbytes.length);
598         assertEquals("Wrote incorrect string", "Hello World",
599                 new String(rbytes));
600
601     }
602
603     /**
604      * @tests java.io.PrintStream#format(java.util.Locale, java.lang.String,
605      *        java.lang.Object...)
606      */
607     public void test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() {
608         PrintStream os = new PrintStream(bos, false);
609         os.format(Locale.US, "%s %s", "Hello", "World");
610         os.flush();
611         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
612         byte[] rbytes = new byte[11];
613         bis.read(rbytes, 0, rbytes.length);
614         assertEquals("Wrote incorrect string", "Hello World",
615                 new String(rbytes));
616     }
617
618     /**
619      * @tests java.io.PrintStream#printf(java.lang.String, java.lang.Object...)
620      */
621     public void test_printfLjava_lang_String$Ljava_lang_Object() {
622         PrintStream os = new PrintStream(bos, false);
623         os.printf("%s %s", "Hello", "World");
624         os.flush();
625         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
626         byte[] rbytes = new byte[11];
627         bis.read(rbytes, 0, rbytes.length);
628         assertEquals("Wrote incorrect string", "Hello World",
629                 new String(rbytes));
630     }
631
632     /**
633      * @tests java.io.PrintStream#printf(java.util.Locale, java.lang.String,
634      *        java.lang.Object...)
635      */
636     public void test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() {
637         PrintStream os = new PrintStream(bos, false);
638         os.printf(Locale.US, "%s %s", "Hello", "World");
639         os.flush();
640         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
641         byte[] rbytes = new byte[11];
642         bis.read(rbytes, 0, rbytes.length);
643         assertEquals("Wrote incorrect string", "Hello World",
644                 new String(rbytes));
645     }
646
647         @Override
648         protected void setUp() throws Exception {               
649                 super.setUp();
650                 testFile = File.createTempFile("test", null);
651                 testFilePath = testFile.getAbsolutePath();
652         }
653
654         @Override
655         protected void tearDown() throws Exception {
656                 testFile.delete();
657                 testFile = null;
658                 testFilePath = null;
659                 super.tearDown();
660         }
661
662
663 }