1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpackage libcore.java.io; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.CharArrayReader; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 23935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpublic class OldCharArrayReaderTest extends junit.framework.TestCase { 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char[] hw = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' }; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CharArrayReader cr; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 30229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#CharArrayReader(char[]) 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_Constructor$C() { 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.io.CharArrayReader(char []) 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to create reader", cr.ready()); 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception determining ready state : " + e.getMessage()); 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 44229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#CharArrayReader(char[], int, int) 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_Constructor$CII() throws IOException { 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(null, 0, 0); 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 1: NullPointerException expected."); 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw, -1, 0); 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 2: IllegalArgumentException expected."); 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw, 0, -1); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 3: IllegalArgumentException expected."); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw, hw.length + 1, 1); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 4: IllegalArgumentException expected."); 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 71f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw, 5, 5); 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Test 5: Failed to create reader", cr.ready()); 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Test 6: Incorrect character read;", 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 'W', cr.read()); 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 79229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#close() 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_close() { 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(); 86f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Failed to throw exception on read from closed stream"); 87f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes } catch (IOException e) { 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 94229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#mark(int) 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_markI() throws IOException { 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.skip(5L); 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.mark(100); 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(); 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.reset(); 102f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Test 1: Failed to mark correct position;", 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 'W', cr.read()); 104f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.mark(100); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 2: IOException expected."); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 115229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#markSupported() 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_markSupported() { 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("markSupported returned false", cr.markSupported()); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 123229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#read() 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_read() throws IOException { 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 127f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Test 1: Read returned incorrect char;", 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 'H', cr.read()); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(new char[] { '\u8765' }); 130f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Test 2: Incorrect double byte char;", 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read() == '\u8765'); 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 3: IOException expected."); 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 143229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#read(char[], int, int) 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_read$CII() throws IOException { 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int java.io.CharArrayReader.read(char [], int, int) 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char[] c = new char[11]; 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(c, 1, 10); 150f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Test 1: Read returned incorrect chars.", 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new String(c, 1, 10).equals(new String(hw, 0, 10))); 152f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Illegal argument checks. 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(null, 1, 0); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 2: NullPointerException expected."); 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(c , -1, 1); 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 3: ArrayIndexOutOfBoundsException expected."); 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 167f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(c , 1, -1); 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 4: ArrayIndexOutOfBoundsException expected."); 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(c, 1, c.length); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 5: ArrayIndexOutOfBoundsException expected."); 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(c, 1, 1); 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 6: IOException expected."); 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ready() { 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean java.io.CharArrayReader.ready() 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean expectException = false; 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("ready returned false", cr.ready()); 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.skip(1000); 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("ready returned true", !cr.ready()); 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectException = true; 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.ready(); 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("No exception 1"); 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!expectException) 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected: " + e); 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.ready(); 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("No exception 2"); 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 217229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.io.CharArrayReader#reset() 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_reset() throws IOException { 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.skip(5L); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.mark(100); 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.read(); 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.reset(); 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Test 1: Reset failed to return to marker position.", 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 'W', cr.read()); 227f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.reset(); 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 2: IOException expected."); 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_skipJ() throws IOException { 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project long skipped = 0; 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr = new CharArrayReader(hw); 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project skipped = cr.skip(5L); 241f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Test 1: Failed to skip correct number of chars;", 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 5L, skipped); 243f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Test 2: Skip skipped wrong chars;", 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 'W', cr.read()); 245f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.skip(1); 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test 3: IOException expected."); 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected. 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() { 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (cr != null) 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cr.close(); 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 260