1935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson/* 2935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one or more 3935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * contributor license agreements. See the NOTICE file distributed with 4935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * this work for additional information regarding copyright ownership. 5935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0 6935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * (the "License"); you may not use this file except in compliance with 7935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * the License. You may obtain a copy of the License at 8935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * 9935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 10935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * 11935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * Unless required by applicable law or agreed to in writing, software 12935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 13935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * See the License for the specific language governing permissions and 15935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * limitations under the License. 16935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson */ 17935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpackage libcore.java.io; 18935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 19935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport java.io.ByteArrayInputStream; 20935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport java.io.EOFException; 21935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport java.io.IOException; 22935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport java.io.ObjectInputStream; 23935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport java.io.ObjectOutputStream; 24935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport tests.support.Support_OutputStream; 25935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 26935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpublic class OldObjectInputOutputStreamTest extends junit.framework.TestCase { 27935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 28935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson private ObjectOutputStream os; 29935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 30935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson private ObjectInputStream is; 31935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 32935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson private Support_OutputStream sos; 33935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 34935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson String unihw = "\u0048\u0065\u006C\u006C\u006F\u0020\u0057\u006F\u0072\u006C\u0064"; 35935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 36935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeBoolean() throws IOException { 37935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeBoolean(true); 38935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 39935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 40935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 41935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertTrue("Test 1: Incorrect boolean written or read.", 42935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readBoolean()); 43935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 44935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 45935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readBoolean(); 46935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 47935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 48935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 49935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 50935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 51935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 52935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 53935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readBoolean(); 54935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 55935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 56935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 57935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 58935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 59935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 60935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeByte() throws IOException { 61935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeByte((byte) 127); 62935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 63935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 64935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 65935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Test 1: Incorrect byte written or read;", 66935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson (byte) 127, is.readByte()); 67935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 68935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 69935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readByte(); 70935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 71935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 72935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 73935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 74935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 75935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 76935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 77935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readByte(); 78935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 79935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 80935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 81935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 82935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 83935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 84935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeChar() throws IOException { 85935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeChar('b'); 86935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 87935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 88935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 89935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Test 1: Incorrect char written or read;", 90935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 'b', is.readChar()); 91935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 92935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 93935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readChar(); 94935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 95935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 96935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 97935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 98935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 99935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 100935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 101935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readChar(); 102935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 103935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 104935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 105935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 106935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 107935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 108935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeDouble() throws IOException { 109935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeDouble(2345.76834720202); 110935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 111935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 112935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 113935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Test 1: Incorrect double written or read;", 114935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 2345.76834720202, is.readDouble()); 115935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 116935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 117935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readDouble(); 118935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 119935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 120935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 121935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 122935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 123935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 124935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 125935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readDouble(); 126935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 127935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 128935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 129935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 130935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 131935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 132935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeFloat() throws IOException { 133935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeFloat(29.08764f); 134935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 135935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 136935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 137935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Test 1: Incorrect float written or read;", 138935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 29.08764f, is.readFloat()); 139935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 140935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 141935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readFloat(); 142935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 143935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 144935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 145935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 146935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 147935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 148935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 149935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readFloat(); 150935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 151935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 152935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 153935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 154935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 155935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 156935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeInt() throws IOException { 157935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeInt(768347202); 158935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 159935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 160935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 161935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Test 1: Incorrect int written or read;", 162935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 768347202, is.readInt()); 163935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 164935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 165935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readInt(); 166935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 167935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 168935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 169935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 170935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 171935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 172935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 173935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readInt(); 174935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 175935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 176935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 177935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 178935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 179935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 180935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeLong() throws IOException { 181935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeLong(9875645283333L); 182935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 183935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 184935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 185935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Test 1: Incorrect long written or read;", 186935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 9875645283333L, is.readLong()); 187935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 188935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 189935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readLong(); 190935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 191935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 192935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 193935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 194935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 195935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 196935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 197935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readLong(); 198935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 199935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 200935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 201935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 202935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 203935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 204935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeShort() throws IOException { 205935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeShort(9875); 206935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 207935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 208935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 209935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Test 1: Incorrect short written or read;", 210935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 9875, is.readShort()); 211935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 212935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 213935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readShort(); 214935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 215935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 216935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 217935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 218935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 219935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 220935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 221935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readShort(); 222935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 223935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 224935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 225935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 226935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 227935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 228935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_read_writeUTF() throws IOException { 229935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.writeUTF(unihw); 230935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 231935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 232935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson openObjectInputStream(); 233935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertTrue("Test 1: Incorrect UTF-8 string written or read.", 234935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readUTF().equals(unihw)); 235935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 236935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 237935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readUTF(); 238935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 2: EOFException expected."); 239935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (EOFException e) { 240935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 241935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 242935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 243935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 244935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 245935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.readUTF(); 246935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("Test 3: IOException expected."); 247935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 248935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // Expected. 249935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 250935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 251935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 252935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson private void openObjectInputStream() throws IOException { 253935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is = new ObjectInputStream( 254935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson new ByteArrayInputStream(sos.toByteArray())); 255935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 256935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 257935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson protected void setUp() throws IOException { 258935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson sos = new Support_OutputStream(256); 259935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os = new ObjectOutputStream(sos); 260935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 261935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 262935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson protected void tearDown() { 263935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 264935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson os.close(); 265935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (Exception e) { 266935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 267935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 268935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson is.close(); 269935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (Exception e) { 270935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 271935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 272935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson} 273