1cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath/*
2cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  Licensed to the Apache Software Foundation (ASF) under one or more
3cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  contributor license agreements.  See the NOTICE file distributed with
4cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  this work for additional information regarding copyright ownership.
5cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  The ASF licenses this file to You under the Apache License, Version 2.0
6cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  (the "License"); you may not use this file except in compliance with
7cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  the License.  You may obtain a copy of the License at
8cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *
9cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *     http://www.apache.org/licenses/LICENSE-2.0
10cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *
11cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  Unless required by applicable law or agreed to in writing, software
12cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  distributed under the License is distributed on an "AS IS" BASIS,
13cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  See the License for the specific language governing permissions and
15cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *  limitations under the License.
16cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */
17cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
18ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.io;
19cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
20cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.CharArrayReader;
21cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.CharArrayWriter;
22cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.IOException;
23cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.StringWriter;
24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
25cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class CharArrayWriterTest extends junit.framework.TestCase {
26cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    char[] hw = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' };
28cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    CharArrayWriter cw;
30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
31cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    CharArrayReader cr;
32cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
33cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#CharArrayWriter()
35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_Constructor() {
37cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw = new CharArrayWriter(90);
38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Created incorrect writer", 0, cw.size());
39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#CharArrayWriter(int)
43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_ConstructorI() {
45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw = new CharArrayWriter();
46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Created incorrect writer", 0, cw.size());
47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#close()
51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_close() {
53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.close();
54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#flush()
58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_flush() {
60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.flush();
61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#reset()
65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_reset() throws IOException {
67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write("HelloWorld", 5, 5);
68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.reset();
69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write("HelloWorld", 0, 5);
70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr = new CharArrayReader(cw.toCharArray());
71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        char[] c = new char[100];
72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr.read(c, 0, 5);
73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Reset failed to reset buffer", "Hello", new String(c, 0,
74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                5));
75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#size()
79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_size() {
81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect size", 0, cw.size());
82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write(hw, 5, 5);
83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect size", 5, cw.size());
84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#toCharArray()
88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toCharArray() throws IOException {
90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write("HelloWorld", 0, 10);
91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr = new CharArrayReader(cw.toCharArray());
92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        char[] c = new char[100];
93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr.read(c, 0, 10);
94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("toCharArray failed to return correct array",
95cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                "HelloWorld", new String(c, 0, 10));
96cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
97cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
98cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
99cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#toString()
100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_toString() {
102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write("HelloWorld", 5, 5);
103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr = new CharArrayReader(cw.toCharArray());
104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Returned incorrect string", "World", cw.toString());
105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#write(char[], int, int)
109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_write$CII() throws IOException {
111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write(hw, 5, 5);
112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr = new CharArrayReader(cw.toCharArray());
113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        char[] c = new char[100];
114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr.read(c, 0, 5);
115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Writer failed to write correct chars", "World",
116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                new String(c, 0, 5));
117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#write(char[], int, int)
121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_write$CII_2() {
123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Regression for HARMONY-387
124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        CharArrayWriter obj = new CharArrayWriter();
125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            obj.write(new char[] { '0' }, 0, -1);
127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail();
128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (IndexOutOfBoundsException expected) {
129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#write(int)
134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeI() throws IOException {
136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write('T');
137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr = new CharArrayReader(cw.toCharArray());
138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Writer failed to write char", 'T', cr.read());
139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#write(java.lang.String, int, int)
143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeLjava_lang_StringII() throws IOException {
145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write("HelloWorld", 5, 5);
146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr = new CharArrayReader(cw.toCharArray());
147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        char[] c = new char[100];
148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cr.read(c, 0, 5);
149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Writer failed to write correct chars", "World",
150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                new String(c, 0, 5));
151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#write(java.lang.String, int, int)
155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeLjava_lang_StringII_2()
157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            throws StringIndexOutOfBoundsException {
158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        // Regression for HARMONY-387
159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        CharArrayWriter obj = new CharArrayWriter();
160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        try {
161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            obj.write((String) null, -1, 0);
162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            fail("NullPointerException expected");
163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        } catch (NullPointerException t) {
164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            // Expected
165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#writeTo(java.io.Writer)
170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_writeToLjava_io_Writer() throws IOException {
172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.write("HelloWorld", 0, 10);
173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        StringWriter sw = new StringWriter();
174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.writeTo(sw);
175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals("Writer failed to write correct chars", "HelloWorld", sw
176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath                .toString());
177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * Sets up the fixture, for example, open a network connection. This method
181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * is called before a test is executed.
182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    protected void setUp() {
184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw = new CharArrayWriter();
185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * Tears down the fixture, for example, close a network connection. This
189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * method is called after a test is executed.
190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    protected void tearDown() {
192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        if (cr != null) {
193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath            cr.close();
194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        }
195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        cw.close();
196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#append(char)
200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_appendChar() throws IOException {
202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        char testChar = ' ';
203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        CharArrayWriter writer = new CharArrayWriter(10);
204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.append(testChar);
205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.flush();
206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(String.valueOf(testChar), writer.toString());
207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.close();
208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#append(CharSequence)
212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_appendCharSequence() {
214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        String testString = "My Test String";
215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        CharArrayWriter writer = new CharArrayWriter(10);
216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.append(testString);
217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.flush();
218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(testString, writer.toString());
219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.close();
220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath
222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    /**
223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     * java.io.CharArrayWriter#append(CharSequence, int, int)
224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath     */
225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    public void test_appendCharSequenceIntInt() {
226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        String testString = "My Test String";
227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        CharArrayWriter writer = new CharArrayWriter(10);
228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.append(testString, 1, 3);
229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.flush();
230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        assertEquals(testString.substring(1, 3), writer.toString());
231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath        writer.close();
232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath    }
233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath}
234