1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.io; 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ByteArrayInputStream; 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ByteArrayOutputStream; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.DataInput; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.DataInputStream; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.DataOutputStream; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.EOFException; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.IOException; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class DataInputStreamTest extends junit.framework.TestCase { 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private DataOutputStream os; 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private DataInputStream dis; 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private ByteArrayOutputStream bos; 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String unihw = "\u0048\u0065\u006C\u006C\u006F\u0020\u0057\u006F\u0072\u006C\u0064"; 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public String fileString = "Test_All_Tests\nTest_java_io_BufferedInputStream\nTest_java_io_BufferedOutputStream\nTest_java_io_ByteArrayInputStream\nTest_java_io_ByteArrayOutputStream\nTest_DataInputStream\n"; 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#DataInputStream(java.io.InputStream) 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_io_InputStream() throws IOException { 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeChar('t'); 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } finally { 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.close(); 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#read(byte[]) 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_read$B() throws IOException { 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.write(fileString.getBytes()); 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte rbytes[] = new byte[fileString.length()]; 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.read(rbytes); 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect data read", new String(rbytes, 0, fileString 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .length()).equals(fileString)); 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#read(byte[], int, int) 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_read$BII() throws IOException { 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.write(fileString.getBytes()); 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte rbytes[] = new byte[fileString.length()]; 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.read(rbytes, 0, rbytes.length); 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect data read", new String(rbytes, 0, fileString 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .length()).equals(fileString)); 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readBoolean() 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readBoolean() throws IOException { 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeBoolean(true); 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect boolean written", dis.readBoolean()); 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readByte() 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readByte() throws IOException { 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeByte((byte) 127); 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect byte read", dis.readByte() == (byte) 127); 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readChar() 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readChar() throws IOException { 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeChar('t'); 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect char read", 't', dis.readChar()); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readDouble() 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readDouble() throws IOException { 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeDouble(2345.76834720202); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect double read", 2345.76834720202, dis 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .readDouble()); 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readFloat() 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readFloat() throws IOException { 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeFloat(29.08764f); 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect float read", dis.readFloat() == 29.08764f); 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readFully(byte[]) 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readFully$B() throws IOException { 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.write(fileString.getBytes()); 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte rbytes[] = new byte[fileString.length()]; 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.readFully(rbytes); 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect data read", new String(rbytes, 0, fileString 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .length()).equals(fileString)); 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readFully(byte[], int, int) 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readFully$BII() throws IOException { 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.write(fileString.getBytes()); 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte rbytes[] = new byte[fileString.length()]; 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.readFully(rbytes, 0, fileString.length()); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect data read", new String(rbytes, 0, fileString 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .length()).equals(fileString)); 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readFully(byte[], int, int) 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readFully$BII_Exception() throws IOException { 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DataInputStream is = new DataInputStream(new ByteArrayInputStream( 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new byte[fileString.length()])); 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] byteArray = new byte[fileString.length()]; 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, -1, -1); 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IndexOutOfBoundsException"); 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, -1); 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IndexOutOfBoundsException"); 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 1, -1); 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IndexOutOfBoundsException"); 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, -1, 0); 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, 0); 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 1, 0); 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, -1, 1); 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IndexOutOfBoundsException"); 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, 1); 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 1, 1); 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, Integer.MAX_VALUE); 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IndexOutOfBoundsException"); 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readFully(byte[], int, int) 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readFully$BII_NullArray() throws IOException { 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DataInputStream is = new DataInputStream(new ByteArrayInputStream( 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new byte[fileString.length()])); 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] nullByteArray = null; 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, -1, -1); 2172a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 2182a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 2192a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, -1); 2242a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 2252a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 2262a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 1, -1); 2312a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 2322a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 2332a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, -1, 0); 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, 0); 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 1, 0); 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, -1, 1); 2422a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 2432a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 2442a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, 1); 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 1, 1); 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, Integer.MAX_VALUE); 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readFully(byte[], int, int) 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readFully$BII_NullStream() throws IOException { 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DataInputStream is = new DataInputStream(null); 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] byteArray = new byte[fileString.length()]; 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, -1, -1); 2782a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 2792a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 2802a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, -1); 2852a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 2862a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 2872a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 1, -1); 2922a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 2932a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 2942a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, -1, 0); 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, 0); 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 1, 0); 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, -1, 1); 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, 1); 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 1, 1); 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(byteArray, 0, Integer.MAX_VALUE); 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readFully(byte[], int, int) 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readFully$BII_NullStream_NullArray() throws IOException { 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DataInputStream is = new DataInputStream(null); 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte[] nullByteArray = null; 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, -1, -1); 3392a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 3402a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 3412a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, -1); 3462a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 3472a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 3482a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 1, -1); 3532a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes fail(); 3542a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (NullPointerException expected) { 3552a68e06b23ceb5b401d5bc784e6882e71c662caeElliott Hughes } catch (IndexOutOfBoundsException expected) { 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, -1, 0); 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, 0); 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 1, 0); 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, -1, 1); 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, 1); 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 1, 1); 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes is.readFully(nullByteArray, 0, Integer.MAX_VALUE); 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readInt() 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readInt() throws IOException { 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeInt(768347202); 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect int read", 768347202, dis.readInt()); 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readLine() 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @SuppressWarnings("deprecation") 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readLine() throws IOException { 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeBytes("Hello"); 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String line = dis.readLine(); 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect line read: " + line, line.equals("Hello")); 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readLong() 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readLong() throws IOException { 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeLong(9875645283333L); 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect long read", 9875645283333L, dis.readLong()); 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readShort() 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readShort() throws IOException { 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeShort(9875); 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect short read", dis.readShort() == (short) 9875); 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readUnsignedByte() 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readUnsignedByte() throws IOException { 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeByte((byte) -127); 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect byte read", 129, dis.readUnsignedByte()); 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readUnsignedShort() 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readUnsignedShort() throws IOException { 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeShort(9875); 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect short read", 9875, dis.readUnsignedShort()); 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readUTF() 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readUTF() throws IOException { 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeUTF(unihw); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to write string in UTF format", 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.available() == unihw.length() + 2); 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect string read", dis.readUTF().equals(unihw)); 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static class TestDataInputStream implements DataInput { 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public boolean readBoolean() throws IOException { 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return false; 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public byte readByte() throws IOException { 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return (byte) 0; 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public char readChar() throws IOException { 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return (char) 0; 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public double readDouble() throws IOException { 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return 0.0; 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public float readFloat() throws IOException { 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return (float) 0.0; 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void readFully(byte[] buffer) throws IOException { 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void readFully(byte[] buffer, int offset, int count) 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws IOException { 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int readInt() throws IOException { 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return 0; 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public String readLine() throws IOException { 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public long readLong() throws IOException { 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return (long) 0; 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public short readShort() throws IOException { 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return (short) 0; 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int readUnsignedByte() throws IOException { 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return 0; 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int readUnsignedShort() throws IOException { 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return 0; 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public String readUTF() throws IOException { 518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return DataInputStream.readUTF(this); 519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int skipBytes(int count) throws IOException { 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return 0; 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#readUTF(java.io.DataInput) 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_readUTFLjava_io_DataInput() throws IOException { 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.writeUTF(unihw); 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to write string in UTF format", 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.available() == unihw.length() + 2); 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect string read", DataInputStream.readUTF(dis) 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(unihw)); 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-5336 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new TestDataInputStream().readUTF(); 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.io.DataInputStream#skipBytes(int) 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_skipBytesI() throws IOException { 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte fileBytes[] = fileString.getBytes(); 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.write(fileBytes); 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.skipBytes(100); 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes byte rbytes[] = new byte[fileString.length()]; 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.read(rbytes, 0, 50); 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.close(); 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect data read", new String(rbytes, 0, 50) 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(fileString.substring(100, 150))); 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int skipped = 0; 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes openDataInputStream(); 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes skipped = dis.skipBytes(50000); 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (EOFException e) { 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Skipped should report " + fileString.length() + " not " 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + skipped, skipped == fileString.length()); 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private void openDataInputStream() throws IOException { 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis = new DataInputStream(new ByteArrayInputStream(bos.toByteArray())); 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Sets up the fixture, for example, open a network connection. This method 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * is called before a test is executed. 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() { 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes bos = new ByteArrayOutputStream(); 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os = new DataOutputStream(bos); 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tears down the fixture, for example, close a network connection. This 582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * method is called after a test is executed. 583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void tearDown() { 585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes os.close(); 587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (Exception e) { 588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dis.close(); 591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (Exception e) { 592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 595