1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.lang.builder;
18
19 import java.util.ArrayList;
20 import java.util.HashMap;
21
22 import org.apache.commons.lang.builder.ToStringStyleTest.Person;
23
24 import junit.framework.Test;
25 import junit.framework.TestCase;
26 import junit.framework.TestSuite;
27 import junit.textui.TestRunner;
28
29
30
31
32
33
34
35 public class DefaultToStringStyleTest extends TestCase {
36
37 private final Integer base = new Integer(5);
38 private final String baseStr = base.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(base));
39
40 public DefaultToStringStyleTest(String name) {
41 super(name);
42 }
43
44 public static void main(String[] args) {
45 TestRunner.run(suite());
46 }
47
48 public static Test suite() {
49 TestSuite suite = new TestSuite(DefaultToStringStyleTest.class);
50 suite.setName("DefaultToStringStyle Tests");
51 return suite;
52 }
53
54 protected void setUp() throws Exception {
55 super.setUp();
56 ToStringBuilder.setDefaultStyle(ToStringStyle.DEFAULT_STYLE);
57 }
58
59 protected void tearDown() throws Exception {
60 super.tearDown();
61 ToStringBuilder.setDefaultStyle(ToStringStyle.DEFAULT_STYLE);
62 }
63
64
65
66 public void testBlank() {
67 assertEquals(baseStr + "[]", new ToStringBuilder(base).toString());
68 }
69
70 public void testAppendSuper() {
71 assertEquals(baseStr + "[]", new ToStringBuilder(base).appendSuper("Integer@8888[]").toString());
72 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).appendSuper("Integer@8888[<null>]").toString());
73
74 assertEquals(baseStr + "[a=hello]", new ToStringBuilder(base).appendSuper("Integer@8888[]").append("a", "hello").toString());
75 assertEquals(baseStr + "[<null>,a=hello]", new ToStringBuilder(base).appendSuper("Integer@8888[<null>]").append("a", "hello").toString());
76 assertEquals(baseStr + "[a=hello]", new ToStringBuilder(base).appendSuper(null).append("a", "hello").toString());
77 }
78
79 public void testObject() {
80 Integer i3 = new Integer(3);
81 Integer i4 = new Integer(4);
82 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).append((Object) null).toString());
83 assertEquals(baseStr + "[3]", new ToStringBuilder(base).append(i3).toString());
84 assertEquals(baseStr + "[a=<null>]", new ToStringBuilder(base).append("a", (Object) null).toString());
85 assertEquals(baseStr + "[a=3]", new ToStringBuilder(base).append("a", i3).toString());
86 assertEquals(baseStr + "[a=3,b=4]", new ToStringBuilder(base).append("a", i3).append("b", i4).toString());
87 assertEquals(baseStr + "[a=<Integer>]", new ToStringBuilder(base).append("a", i3, false).toString());
88 assertEquals(baseStr + "[a=<size=0>]", new ToStringBuilder(base).append("a", new ArrayList(), false).toString());
89 assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a", new ArrayList(), true).toString());
90 assertEquals(baseStr + "[a=<size=0>]", new ToStringBuilder(base).append("a", new HashMap(), false).toString());
91 assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a", new HashMap(), true).toString());
92 assertEquals(baseStr + "[a=<size=0>]", new ToStringBuilder(base).append("a", (Object) new String[0], false).toString());
93 assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a", (Object) new String[0], true).toString());
94 }
95
96 public void testPerson() {
97 Person p = new Person();
98 p.name = "John Doe";
99 p.age = 33;
100 p.smoker = false;
101 String pBaseStr = p.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(p));
102 assertEquals(pBaseStr + "[name=John Doe,age=33,smoker=false]", new ToStringBuilder(p).append("name", p.name).append("age", p.age).append("smoker", p.smoker).toString());
103 }
104
105 public void testLong() {
106 assertEquals(baseStr + "[3]", new ToStringBuilder(base).append(3L).toString());
107 assertEquals(baseStr + "[a=3]", new ToStringBuilder(base).append("a", 3L).toString());
108 assertEquals(baseStr + "[a=3,b=4]", new ToStringBuilder(base).append("a", 3L).append("b", 4L).toString());
109 }
110
111 public void testObjectArray() {
112 Object[] array = new Object[] {null, base, new int[] {3, 6}};
113 assertEquals(baseStr + "[{<null>,5,{3,6}}]", new ToStringBuilder(base).append(array).toString());
114 assertEquals(baseStr + "[{<null>,5,{3,6}}]", new ToStringBuilder(base).append((Object) array).toString());
115 array = null;
116 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).append(array).toString());
117 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).append((Object) array).toString());
118 }
119
120 public void testLongArray() {
121 long[] array = new long[] {1, 2, -3, 4};
122 assertEquals(baseStr + "[{1,2,-3,4}]", new ToStringBuilder(base).append(array).toString());
123 assertEquals(baseStr + "[{1,2,-3,4}]", new ToStringBuilder(base).append((Object) array).toString());
124 array = null;
125 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).append(array).toString());
126 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).append((Object) array).toString());
127 }
128
129 public void testLongArrayArray() {
130 long[][] array = new long[][] {{1, 2}, null, {5}};
131 assertEquals(baseStr + "[{{1,2},<null>,{5}}]", new ToStringBuilder(base).append(array).toString());
132 assertEquals(baseStr + "[{{1,2},<null>,{5}}]", new ToStringBuilder(base).append((Object) array).toString());
133 array = null;
134 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).append(array).toString());
135 assertEquals(baseStr + "[<null>]", new ToStringBuilder(base).append((Object) array).toString());
136 }
137
138 }