14c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson/* Licensed to the Apache Software Foundation (ASF) under one or more 24c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * contributor license agreements. See the NOTICE file distributed with 34c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * this work for additional information regarding copyright ownership. 44c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0 54c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * (the "License"); you may not use this file except in compliance with 64c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * the License. You may obtain a copy of the License at 74c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * 84c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 94c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * 104c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * Unless required by applicable law or agreed to in writing, software 114c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 124c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * See the License for the specific language governing permissions and 144c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson * limitations under the License. 154c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson */ 164c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 174c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilsonpackage libcore.java.io; 184c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 194c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilsonimport java.io.IOException; 204c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilsonimport java.io.Reader; 214c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilsonimport java.nio.CharBuffer; 224c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 234c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilsonimport junit.framework.TestCase; 244c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilsonimport tests.support.Support_ASimpleReader; 254c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 264c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilsonpublic class OldReaderTest extends TestCase { 274c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 284c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public void test_Reader() { 294c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson MockReader r = new MockReader(); 304c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertTrue("Test 1: Lock has not been set correctly.", r.lockSet(r)); 314c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 324c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 334c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public void test_Reader_CharBufferChar() throws IOException { 344c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson Support_ASimpleReader simple; 354c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple = new Support_ASimpleReader("Bla bla, what else?"); 364c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson CharBuffer buf = CharBuffer.allocate(4); 374c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong return value!", 4, simple.read(buf)); 384c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson buf.rewind(); 394c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", "Bla ", String.valueOf(buf)); 404c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.read(buf); 414c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson buf.rewind(); 424c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", "bla,", String.valueOf(buf)); 434c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.throwExceptionOnNextUse = true; 444c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson try { 454c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.read(buf); 464c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson fail("IOException not thrown!"); 474c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } catch (IOException expected) { 484c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 494c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 504c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 514c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public void test_Read_$C() throws IOException { 524c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson Support_ASimpleReader simple; 534c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple = new Support_ASimpleReader("Bla bla, what else?"); 544c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson char[] buf = new char[4]; 554c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong return value!", 4, simple.read(buf)); 564c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", "Bla ", new String(buf)); 574c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.read(buf); 584c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", "bla,", new String(buf)); 594c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.throwExceptionOnNextUse = true; 604c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson try { 614c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.read(buf); 624c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson fail("IOException not thrown!"); 634c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } catch (IOException expected) { 644c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 654c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 664c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 674c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 684c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public void test_markSupported() { 694c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertFalse("markSupported must return false", new MockReader().markSupported()); 704c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 714c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 724c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public void test_read() throws IOException { 734c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson Support_ASimpleReader simple = new Support_ASimpleReader("Bla bla, what else?"); 744c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson int res = simple.read(); 754c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", 'B', res); 764c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson res = simple.read(); 774c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", 'l', res); 784c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.throwExceptionOnNextUse = true; 794c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson try { 804c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.read(); 814c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson fail("IOException not thrown!"); 824c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } catch (IOException expected) { 834c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 844c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 854c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 864c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public void test_ready() throws IOException { 874c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson Support_ASimpleReader simple = new Support_ASimpleReader("Bla bla, what else?"); 884c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.throwExceptionOnNextUse = true; 894c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson try { 904c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.ready(); 914c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson fail("IOException not thrown!"); 924c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } catch (IOException expected) { 934c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 944c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 954c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 964c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public void test_skip() throws IOException { 974c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson Support_ASimpleReader simple = new Support_ASimpleReader("Bla bla, what else?"); 984c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson char[] buf = new char[4]; 994c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.read(buf); 1004c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", "Bla ", new String(buf)); 1014c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.skip(5); 1024c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.read(buf); 1034c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson assertEquals("Wrong stuff read!", "what", new String(buf)); 1044c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.throwExceptionOnNextUse = true; 1054c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson try { 1064c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson simple.skip(1); 1074c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson fail("IOException not thrown!"); 1084c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } catch (IOException expected) { 1094c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 1104c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 1114c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 1124c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson class MockReader extends Reader { 1134c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 1144c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson @Override public void close() {} 1154c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 1164c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson @Override public int read(char[] buf, int offset, int count) { 1174c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson throw new UnsupportedOperationException(); 1184c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 1194c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson 1204c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson public boolean lockSet(Object o) { 1214c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson return (lock == o); 1224c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 1234c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson } 1244c51e7fd55db43a652e49c44b21bce9dee636385Jesse Wilson} 125