01: package com.puppycrawl.tools.checkstyle;
02:
03: import junit.framework.TestCase;
04:
05: import java.io.IOException;
06:
07: public class StringArrayReaderTest extends TestCase {
08: public void testClose() {
09: final StringArrayReader o = new StringArrayReader(
10: new String[] { "" });
11: assertNotNull(o);
12: o.close();
13: try {
14: o.read();
15: fail();
16: } catch (IOException e) {
17: }
18: }
19:
20: public void testLineBreakSingleChar() {
21: final StringArrayReader o = new StringArrayReader(new String[] {
22: "a", "bc" });
23: try {
24: int a = o.read();
25: assertEquals('a', a);
26: int nl1 = o.read();
27: assertEquals('\n', nl1);
28: int b = o.read();
29: assertEquals('b', b);
30: int c = o.read();
31: assertEquals('c', c);
32: int nl2 = o.read();
33: assertEquals('\n', nl2);
34: int eof = o.read();
35: assertEquals(-1, eof);
36: } catch (IOException ex) {
37: }
38: }
39:
40: public void testLineBreakCharArray() {
41: final StringArrayReader o = new StringArrayReader(new String[] {
42: "a", "bc" });
43: try {
44: char[] a = new char[1];
45: int count = o.read(a, 0, 1);
46: assertEquals(1, count);
47: assertEquals('a', a[0]);
48: int nl1 = o.read();
49: assertEquals('\n', nl1);
50: int b = o.read();
51: assertEquals('b', b);
52: int c = o.read();
53: assertEquals('c', c);
54: int nl2 = o.read();
55: assertEquals('\n', nl2);
56: int eof = o.read();
57: assertEquals(-1, eof);
58: } catch (IOException ex) {
59: }
60: }
61:
62: public void testNoLineBreakCharArray() {
63: final StringArrayReader o = new StringArrayReader(new String[] {
64: "a", "bc" });
65: try {
66: char[] a = new char[1];
67: o.read(a, 0, 1);
68: int nl1 = o.read();
69: assertEquals('\n', nl1);
70: char[] b = new char[1];
71: int count = o.read(b, 0, 1);
72: assertEquals(1, count);
73: assertEquals('b', b[0]);
74: int c = o.read();
75: assertEquals('c', c);
76: int nl2 = o.read();
77: assertEquals('\n', nl2);
78: int eof = o.read();
79: assertEquals(-1, eof);
80: } catch (IOException ex) {
81: }
82: }
83: }
|