1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.utils;
18
19 import static org.junit.jupiter.api.Assertions.*;
20
21 import org.apache.juneau.*;
22 import org.apache.juneau.internal.*;
23 import org.junit.jupiter.api.*;
24
25 class StringBuilderWriterTest extends TestBase {
26
27
28
29
30 @Test void a01_test() throws Exception {
31 var sbw = new StringBuilderWriter();
32 sbw.write("abc");
33 assertEquals("abc", sbw.toString());
34 sbw.append("abc");
35 assertEquals("abcabc", sbw.toString());
36 sbw.write("abc", 1, 1);
37 assertEquals("abcabcb", sbw.toString());
38 sbw.append("abc", 1, 2);
39 assertEquals("abcabcbb", sbw.toString());
40 sbw.write((String)null);
41 assertEquals("abcabcbbnull", sbw.toString());
42 sbw.append((String)null);
43 assertEquals("abcabcbbnullnull", sbw.toString());
44 sbw.append((String)null,0,4);
45 assertEquals("abcabcbbnullnullnull", sbw.toString());
46
47 char[] buff = "abc".toCharArray();
48 var sbw2 = new StringBuilderWriter();
49 sbw2.write(buff, 0, buff.length);
50 assertEquals("abc", sbw2.toString());
51 sbw2.write(buff, 0, 0);
52 assertEquals("abc", sbw2.toString());
53
54 assertThrows(IndexOutOfBoundsException.class, ()-> sbw2.write(buff, -1, buff.length));
55 assertThrows(IndexOutOfBoundsException.class, ()-> sbw2.write(buff, buff.length+1, 0));
56 assertThrows(IndexOutOfBoundsException.class, ()-> sbw2.write(buff, buff.length-1, 2));
57 assertThrows(IndexOutOfBoundsException.class, ()-> sbw2.write(buff, 0, buff.length+1));
58 assertThrows(IndexOutOfBoundsException.class, ()-> sbw2.write(buff, 0, -1));
59
60 sbw.flush();
61 sbw.close();
62
63 sbw2.flush();
64 sbw2.close();
65 }
66 }