/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package libcore.java.io; import java.io.CharArrayReader; import java.io.CharArrayWriter; import java.io.IOException; import java.io.StringWriter; import tests.support.Support_ASimpleWriter; public class OldCharArrayWriterTest extends junit.framework.TestCase { CharArrayWriter cw; CharArrayReader cr; public void test_ConstructorI() { // Test for method java.io.CharArrayWriter(int) cw = new CharArrayWriter(90); assertEquals("Test 1: Incorrect writer created.", 0, cw.size()); try { cw = new CharArrayWriter(-1); fail("IllegalArgumentException expected."); } catch (IllegalArgumentException e) { // Expected. } } public void test_write$CII_Exception() { char[] target = new char[10]; cw = new CharArrayWriter(); try { cw.write(target, -1, 1); fail("Test 1: IndexOutOfBoundsException expected."); } catch (IndexOutOfBoundsException e) { // Expected } try { cw.write(target, 0, -1); fail("Test 2: IndexOutOfBoundsException expected."); } catch (IndexOutOfBoundsException e) { // Expected } try { cw.write(target, 1, target.length); fail("Test 3: IndexOutOfBoundsException expected."); } catch (IndexOutOfBoundsException e) { // Expected } try { cw.write((char[]) null, 1, 1); fail("Test 4: NullPointerException expected."); } catch (NullPointerException e) { // Expected. } } public void test_writeToLjava_io_Writer() { Support_ASimpleWriter ssw = new Support_ASimpleWriter(true); cw.write("HelloWorld", 0, 10); StringWriter sw = new StringWriter(); try { cw.writeTo(sw); assertEquals("Test 1: Writer failed to write correct chars;", "HelloWorld", sw.toString()); } catch (IOException e) { fail("Exception during writeTo test : " + e.getMessage()); } try { cw.writeTo(ssw); fail("Test 2: IOException expected."); } catch (IOException e) { // Expected. } } public void test_appendLjava_langCharSequenceII() { String testString = "My Test String"; CharArrayWriter writer = new CharArrayWriter(10); // Illegal argument checks. try { writer.append(testString, -1, 0); fail("Test 1: IndexOutOfBoundsException expected."); } catch (IndexOutOfBoundsException e) { // Expected. } try { writer.append(testString, 0, -1); fail("Test 2: IndexOutOfBoundsException expected."); } catch (IndexOutOfBoundsException e) { // Expected. } try { writer.append(testString, 1, 0); fail("Test 3: IndexOutOfBoundsException expected."); } catch (IndexOutOfBoundsException e) { // Expected. } try { writer.append(testString, 1, testString.length() + 1); fail("Test 4: IndexOutOfBoundsException expected."); } catch (IndexOutOfBoundsException e) { // Expected. } writer.append(testString, 1, 3); writer.flush(); assertEquals("Test 5: Appending failed;", testString.substring(1, 3), writer.toString()); writer.close(); } protected void setUp() { cw = new CharArrayWriter(); } protected void tearDown() { if (cr != null) { cr.close(); } cw.close(); } }