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