1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License. You may obtain a copy of the License at 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.api.java.io; 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.ByteArrayInputStream; 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.ByteArrayOutputStream; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.DataInputStream; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.DataOutputStream; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.EOFException; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.support.Support_ASimpleInputStream; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(DataInputStream.class) 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class DataInputStreamTest extends junit.framework.TestCase { 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private DataOutputStream os; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private DataInputStream dis; 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private ByteArrayOutputStream bos; 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String unihw = "\u0048\u0065\u006C\u006C\u006F\u0020\u0057\u006F\u0072\u006C\u0064"; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 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"; 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private final int testLength = fileString.length(); 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#DataInputStream(java.io.InputStream) 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies DataInputStream(java.io.InputStream) constructor.", 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "DataInputStream", 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.InputStream.class} 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_InputStream() { 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.io.DataInputStream(java.io.InputStream) 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.writeChar('t'); 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IOException during constructor test : " + e.getMessage()); 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } finally { 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IOException during constructor test : " + e.getMessage()); 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#read(byte[]) 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "read", 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class} 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_read$B() throws IOException { 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[testLength - 5]; 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Support_ASimpleInputStream sis = new Support_ASimpleInputStream(); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int r; 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(fileString.getBytes()); 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r = dis.read(rbytes); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 1: Incorrect number of bytes read;", 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testLength - 5, r); 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 2: Incorrect data written or read.", 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes).equals(fileString.substring(0, testLength - 5))); 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r = dis.read(rbytes); 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 3: Incorrect number of bytes read;", 5, r); 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 4: Incorrect data written or read.", 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes, 0, 5).equals(fileString.substring(testLength - 5))); 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sis.throwExceptionOnNextUse = true; 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis = new DataInputStream(sis); 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.read(rbytes); 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 5: IOException expected."); 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#read(byte[], int, int) 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "read", 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class} 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_read$BII() throws IOException { 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[testLength - 5]; 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Support_ASimpleInputStream sis = new Support_ASimpleInputStream(); 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int r; 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(fileString.getBytes()); 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r = dis.read(rbytes, 1, testLength - 10); 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 1: Incorrect number of bytes read;", 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testLength - 10, r); 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 2: Incorrect data read.", 0, rbytes[0]); 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 3: Incorrect data written or read.", 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes, 1, r).equals(fileString.substring(0, r))); 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r = dis.read(rbytes, 0, 15); 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 3: Incorrect number of bytes read;", 10, r); 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 4: Incorrect data written or read.", 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes, 0, r).equals(fileString.substring(testLength - 10))); 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sis.throwExceptionOnNextUse = true; 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis = new DataInputStream(sis); 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.read(rbytes, 1, 5); 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 5: IOException expected."); 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#read(byte[], int, int) 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "read", 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class} 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_read$BII_Exception() throws IOException { 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[testLength - 5]; 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(fileString.getBytes()); 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.read(rbytes, -1, 1); 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException expected."); 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.read(rbytes, 0, -1); 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException expected."); 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.read(rbytes, rbytes.length, 1); 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException expected."); 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#readFully(byte[]) 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "readFully", 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class} 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_readFully$B() throws IOException { 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[testLength]; 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(fileString.getBytes()); 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readFully(rbytes); 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 1: Incorrect data written or read.", 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes, 0, testLength).equals(fileString)); 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readFully(rbytes); 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: IOException expected."); 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readByte(); 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readFully(rbytes); 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 3: EOFException expected."); 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (EOFException e) { 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#readFully(byte[], int, int) 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies everything except illegal argument values.", 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "readFully", 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class} 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_readFully$BII() throws IOException { 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[testLength]; 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(fileString.getBytes()); 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readFully(rbytes, 2, testLength - 4); 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 1: Incorrect data written or read.", 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes, 2, testLength - 4).equals( 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fileString.substring(0, testLength - 4))); 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readFully(rbytes, 0, testLength); 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: IOException expected."); 250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readByte(); 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readFully(rbytes, 0, testLength); 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 3: EOFException expected."); 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (EOFException e) { 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#readFully(byte[], int, int) 266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies that exceptions are thrown for illegal arguments.", 270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "readFully", 271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class} 272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_readFully$BII_Exception() throws IOException { 274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DataInputStream is = new DataInputStream(new ByteArrayInputStream(new byte[testLength])); 275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] byteArray = new byte[testLength]; 277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project is.readFully(byteArray, 0, -1); 280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 1: IndexOutOfBoundsException expected."); 281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project is.readFully(byteArray, 0, byteArray.length + 1); 287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: IndexOutOfBoundsException expected."); 288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project is.readFully(byteArray, 1, byteArray.length); 294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 3: IndexOutOfBoundsException expected."); 295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project is.readFully(byteArray, -1, byteArray.length); 301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 4: IndexOutOfBoundsException expected."); 302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project is.readFully(null, 0, 1); 308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 5: NullPointerException expected."); 309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project is = new DataInputStream(null); 314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project is.readFully(byteArray, 0, 1); 317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 6: NullPointerException expected."); 318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#readLine() 325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("deprecation") 327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "readLine", 330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_readLine() throws IOException { 333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String line; 334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.writeBytes("Lorem\nipsum\rdolor sit amet..."); 335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project line = dis.readLine(); 338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 1: Incorrect line written or read: " + line, 339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project line.equals("Lorem")); 340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project line = dis.readLine(); 341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 2: Incorrect line written or read: " + line, 342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project line.equals("ipsum")); 343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project line = dis.readLine(); 344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 3: Incorrect line written or read: " + line, 345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project line.equals("dolor sit amet...")); 346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readLine(); 350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 4: IOException expected."); 351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#readUnsignedByte() 358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "readUnsignedByte", 362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_readUnsignedByte() throws IOException { 365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.writeByte((byte) -127); 366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 1: Incorrect byte written or read;", 369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 129, dis.readUnsignedByte()); 370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readUnsignedByte(); 373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: EOFException expected."); 374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (EOFException e) { 375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readUnsignedByte(); 381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 3: IOException expected."); 382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#readUnsignedShort() 389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "readUnsignedShort", 393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_readUnsignedShort() throws IOException { 396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.writeShort(Short.MIN_VALUE); 397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 1: Incorrect short written or read;", 400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (Short.MAX_VALUE + 1), dis.readUnsignedShort()); 401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readUnsignedShort(); 404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: EOFException expected."); 405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (EOFException e) { 406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.readUnsignedShort(); 412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 3: IOException expected."); 413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#readUTF(java.io.DataInput) 420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "readUTF", 424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.DataInput.class} 425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_readUTFLjava_io_DataInput() throws IOException { 427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.writeUTF(unihw); 428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 1: Incorrect UTF-8 string written or read.", 431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DataInputStream.readUTF(dis).equals(unihw)); 432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DataInputStream.readUTF(dis); 435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: EOFException expected."); 436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (EOFException e) { 437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DataInputStream.readUTF(dis); 443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 3: IOException expected."); 444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.DataInputStream#skipBytes(int) 451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "skipBytes", 455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_skipBytesI() { 458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.io.DataInputStream.skipBytes(int) 459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte fileBytes[] = fileString.getBytes(); 461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(fileBytes); 462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.skipBytes(100); 465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[testLength]; 466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.read(rbytes, 0, 50); 467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect data read", new String(rbytes, 0, 50) 469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(fileString.substring(100, 150))); 470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IOException during skipBytes test 1 : " + e.getMessage()); 472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // boolean eofException = false; //what is this var for? 475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int skipped = 0; 476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project openDataInputStream(); 477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project skipped = dis.skipBytes(50000); 479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (EOFException e) { 480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // eofException = true; 481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ; 483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Skipped should report " + testLength + " not " 484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + skipped, skipped == testLength); 485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IOException during skipBytes test 2 : " + e.getMessage()); 487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private void openDataInputStream() throws IOException { 491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis = new DataInputStream(new ByteArrayInputStream(bos.toByteArray())); 492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is called before a test is executed. 497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() { 499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bos = new ByteArrayOutputStream(); 500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os = new DataOutputStream(bos); 501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Tears down the fixture, for example, close a network connection. This 505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * method is called after a test is executed. 506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() { 508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project dis.close(); 514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 518