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