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.DataInputStream;
23cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.DataOutputStream;
24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.IOException;
25cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
26cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class DataOutputStreamTest extends junit.framework.TestCase {
27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
28cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    private DataOutputStream os;
29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    private DataInputStream dis;
31cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
32cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    private ByteArrayOutputStream bos;
33cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    String unihw = "\u0048\u0065\u006C\u006C\u006F\u0020\u0057\u006F\u0072\u006C\u0064";
35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan 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\n";
37cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#DataOutputStream(java.io.OutputStream)
40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_ConstructorLjava_io_OutputStream() {
42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Used in all tests", true);
43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#flush()
47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_flush() throws IOException {
49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeInt(9087589);
50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.flush();
51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        int c = dis.readInt();
53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Failed to flush correctly", 9087589, c);
55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#size()
59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_size() throws IOException {
61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.write(fileString.getBytes(), 0, 150);
62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        byte[] rbuf = new byte[150];
65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.read(rbuf, 0, 150);
66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect size returned", 150, os.size());
68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#write(byte[], int, int)
72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_write$BII() throws IOException {
74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.write(fileString.getBytes(), 0, 150);
75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        byte[] rbuf = new byte[150];
78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.read(rbuf, 0, 150);
79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect bytes written", new String(rbuf, 0, 150)
81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .equals(fileString.substring(0, 150)));
82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#write(int)
86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeI() throws IOException {
88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.write((int) 't');
89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        int c = dis.read();
92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect int written", (int) 't' == c);
94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
95cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
96cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
97cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeBoolean(boolean)
98cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
99cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeBooleanZ() throws IOException {
100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeBoolean(true);
101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        boolean c = dis.readBoolean();
104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect boolean written", c);
106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeByte(int)
110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeByteI() throws IOException {
112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeByte((byte) 127);
113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        byte c = dis.readByte();
116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect byte written", c == (byte) 127);
118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeBytes(java.lang.String)
122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeBytesLjava_lang_String() throws IOException {
124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.write(fileString.getBytes());
125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        byte[] rbuf = new byte[4000];
128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.read(rbuf, 0, fileString.length());
129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect bytes written", new String(rbuf, 0, fileString
131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .length()).equals(fileString));
132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // regression test for HARMONY-1101
134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        new DataOutputStream(null).writeBytes("");
135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeChar(int)
139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeCharI() throws IOException {
141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeChar('T');
142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        char c = dis.readChar();
145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect char written", 'T', c);
147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeChars(java.lang.String)
151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeCharsLjava_lang_String() throws IOException {
153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeChars("Test String");
154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        char[] chars = new char[50];
157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        int i, a = dis.available() / 2;
158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        for (i = 0; i < a; i++)
159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            chars[i] = dis.readChar();
160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect chars written", "Test String", new String(
161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                chars, 0, i));
162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeDouble(double)
166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeDoubleD() throws IOException {
168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeDouble(908755555456.98);
169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        double c = dis.readDouble();
172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect double written", 908755555456.98, c);
174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeFloat(float)
178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeFloatF() throws IOException {
180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeFloat(9087.456f);
181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        float c = dis.readFloat();
184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect float written", c == 9087.456f);
186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeInt(int)
190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeIntI() throws IOException {
192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeInt(9087589);
193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        int c = dis.readInt();
196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect int written", 9087589, c);
198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeLong(long)
202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeLongJ() throws IOException {
204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeLong(908755555456L);
205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        long c = dis.readLong();
208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect long written", 908755555456L, c);
210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeShort(int)
214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeShortI() throws IOException {
216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeShort((short) 9087);
217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        short c = dis.readShort();
220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis.close();
221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Incorrect short written", 9087, c);
222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.DataOutputStream#writeUTF(java.lang.String)
226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeUTFLjava_lang_String() throws IOException {
228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.writeUTF(unihw);
229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os.close();
230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        openDataInputStream();
231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Failed to write string in UTF format",
232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                dis.available() == unihw.length() + 2);
233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertTrue("Incorrect string returned", dis.readUTF().equals(unihw));
234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    private void openDataInputStream() throws IOException {
237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        dis = new DataInputStream(new ByteArrayInputStream(bos.toByteArray()));
238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * Sets up the fixture, for example, open a network connection. This method
242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * is called before a test is executed.
243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    protected void setUp() {
245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        bos = new ByteArrayOutputStream();
246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        os = new DataOutputStream(bos);
247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * Tears down the fixture, for example, close a network connection. This
251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * method is called after a test is executed.
252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    protected void tearDown() {
254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            if (os != null)
256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                os.close();
257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            if (dis != null)
258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                dis.close();
259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (IOException e) {
260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath}
263