This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git
The following commit(s) were added to refs/heads/master by this push:
new 772f97c [LANG-1600] Restore handling of collections for non-JSON
ToStringStyle (#610)
772f97c is described below
commit 772f97c4378613d241ecacc2076fdda20d59e982
Author: Michael F <[email protected]>
AuthorDate: Sun Aug 30 15:27:17 2020 -0700
[LANG-1600] Restore handling of collections for non-JSON ToStringStyle
(#610)
* [LANG-1600] add test cases for non-empty collections, maps, and arrays
* break out those test cases into separate methods for legibility
* addresses issue introduced in LANG-1542 with commit 1dddec8
* [LANG-1600] restore non-json-style handling of appendDetail() for
Collection
* addresses issue introduced in LANG-1542 with commit 1dddec8
---
.../commons/lang3/builder/ToStringStyle.java | 25 +++++++------
.../lang3/builder/DefaultToStringStyleTest.java | 42 +++++++++++++++++-----
.../lang3/builder/MultiLineToStringStyleTest.java | 42 +++++++++++++++++-----
.../builder/NoClassNameToStringStyleTest.java | 42 +++++++++++++++++-----
.../builder/NoFieldNamesToStringStyleTest.java | 42 +++++++++++++++++-----
.../builder/ShortPrefixToStringStyleTest.java | 42 +++++++++++++++++-----
.../lang3/builder/SimpleToStringStyleTest.java | 42 +++++++++++++++++-----
.../lang3/builder/StandardToStringStyleTest.java | 42 +++++++++++++++++-----
8 files changed, 253 insertions(+), 66 deletions(-)
diff --git a/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java
b/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java
index 02c4231..7e43baa 100644
--- a/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java
+++ b/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java
@@ -626,16 +626,6 @@ public abstract class ToStringStyle implements
Serializable {
* {@code toString}, not {@code null}
*/
protected void appendDetail(final StringBuffer buffer, final String
fieldName, final Collection<?> coll) {
- if (coll != null && !coll.isEmpty()) {
- buffer.append(arrayStart);
- int i = 0;
- for (final Object item : coll) {
- appendDetail(buffer, fieldName, i++, item);
- }
- buffer.append(arrayEnd);
- return;
- }
-
buffer.append(coll);
}
@@ -2598,6 +2588,21 @@ public abstract class ToStringStyle implements
Serializable {
}
@Override
+ protected void appendDetail(final StringBuffer buffer, final String
fieldName, final Collection<?> coll) {
+ if (coll != null && !coll.isEmpty()) {
+ buffer.append(getArrayStart());
+ int i = 0;
+ for (final Object item : coll) {
+ appendDetail(buffer, fieldName, i++, item);
+ }
+ buffer.append(getArrayEnd());
+ return;
+ }
+
+ buffer.append(coll);
+ }
+
+ @Override
protected void appendDetail(final StringBuffer buffer, final String
fieldName, final Map<?, ?> map) {
if (map != null && !map.isEmpty()) {
buffer.append(getContentStart());
diff --git
a/src/test/java/org/apache/commons/lang3/builder/DefaultToStringStyleTest.java
b/src/test/java/org/apache/commons/lang3/builder/DefaultToStringStyleTest.java
index 5fe5e46..dc8dede 100644
---
a/src/test/java/org/apache/commons/lang3/builder/DefaultToStringStyleTest.java
+++
b/src/test/java/org/apache/commons/lang3/builder/DefaultToStringStyleTest.java
@@ -18,8 +18,8 @@ package org.apache.commons.lang3.builder;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
import org.apache.commons.lang3.builder.ToStringStyleTest.Person;
import org.junit.jupiter.api.AfterEach;
@@ -71,12 +71,38 @@ public class DefaultToStringStyleTest {
assertEquals(baseStr + "[a=3]", new ToStringBuilder(base).append("a",
i3).toString());
assertEquals(baseStr + "[a=3,b=4]", new
ToStringBuilder(base).append("a", i3).append("b", i4).toString());
assertEquals(baseStr + "[a=<Integer>]", new
ToStringBuilder(base).append("a", i3, false).toString());
- assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", new ArrayList<>(), false).toString());
- assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
new ArrayList<>(), true).toString());
- assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", new HashMap<>(), false).toString());
- assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
new HashMap<>(), true).toString());
- assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", (Object) new String[0], false).toString());
- assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
(Object) new String[0], true).toString());
+ }
+
+ @Test
+ public void testCollection() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", Collections.emptyList(), false).toString());
+ assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
Collections.emptyList(), true).toString());
+ assertEquals(baseStr + "[a=<size=1>]", new
ToStringBuilder(base).append("a", Collections.singletonList(i3),
false).toString());
+ assertEquals(baseStr + "[a=[3]]", new
ToStringBuilder(base).append("a", Collections.singletonList(i3),
true).toString());
+ assertEquals(baseStr + "[a=<size=2>]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), false).toString());
+ assertEquals(baseStr + "[a=[3, 4]]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), true).toString());
+ }
+
+ @Test
+ public void testMap() {
+ assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", Collections.emptyMap(), false).toString());
+ assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), true).toString());
+ assertEquals(baseStr + "[a=<size=1>]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
false).toString());
+ assertEquals(baseStr + "[a={k=v}]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
true).toString());
+ }
+
+ @Test
+ public void testArray() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", (Object) new Integer[0], false).toString());
+ assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
(Object) new Integer[0], true).toString());
+ assertEquals(baseStr + "[a=<size=1>]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3},
false).toString());
+ assertEquals(baseStr + "[a={3}]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3},
true).toString());
+ assertEquals(baseStr + "[a=<size=2>]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
false).toString());
+ assertEquals(baseStr + "[a={3,4}]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
true).toString());
}
@Test
diff --git
a/src/test/java/org/apache/commons/lang3/builder/MultiLineToStringStyleTest.java
b/src/test/java/org/apache/commons/lang3/builder/MultiLineToStringStyleTest.java
index bce681d..41f2794 100644
---
a/src/test/java/org/apache/commons/lang3/builder/MultiLineToStringStyleTest.java
+++
b/src/test/java/org/apache/commons/lang3/builder/MultiLineToStringStyleTest.java
@@ -18,8 +18,8 @@ package org.apache.commons.lang3.builder;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
import org.apache.commons.lang3.builder.ToStringStyleTest.Person;
import org.junit.jupiter.api.AfterEach;
@@ -71,12 +71,38 @@ public class MultiLineToStringStyleTest {
assertEquals(baseStr + "[" + System.lineSeparator() + " a=3" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
i3).toString());
assertEquals(baseStr + "[" + System.lineSeparator() + " a=3" +
System.lineSeparator() + " b=4" + System.lineSeparator() + "]", new
ToStringBuilder(base).append("a", i3).append("b", i4).toString());
assertEquals(baseStr + "[" + System.lineSeparator() + " a=<Integer>"
+ System.lineSeparator() + "]", new ToStringBuilder(base).append("a", i3,
false).toString());
- assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=0>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", new
ArrayList<>(), false).toString());
- assertEquals(baseStr + "[" + System.lineSeparator() + " a=[]" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", new
ArrayList<>(), true).toString());
- assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=0>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", new
HashMap<>(), false).toString());
- assertEquals(baseStr + "[" + System.lineSeparator() + " a={}" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", new
HashMap<>(), true).toString());
- assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=0>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new String[0], false).toString());
- assertEquals(baseStr + "[" + System.lineSeparator() + " a={}" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new String[0], true).toString());
+ }
+
+ @Test
+ public void testCollection() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=0>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.emptyList(), false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=[]" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.emptyList(), true).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=1>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.singletonList(i3), false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=[3]" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.singletonList(i3), true).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=2>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Arrays.asList(i3, i4), false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=[3, 4]" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Arrays.asList(i3, i4), true).toString());
+ }
+
+ @Test
+ public void testMap() {
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=0>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a={}" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), true).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=1>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.singletonMap("k", "v"), false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a={k=v}" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a",
Collections.singletonMap("k", "v"), true).toString());
+ }
+
+ @Test
+ public void testArray() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=0>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new Integer[0], false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a={}" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new Integer[0], true).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=1>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new Integer[] {i3}, false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a={3}" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new Integer[] {i3}, true).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a=<size=2>" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new Integer[] {i3, i4}, false).toString());
+ assertEquals(baseStr + "[" + System.lineSeparator() + " a={3,4}" +
System.lineSeparator() + "]", new ToStringBuilder(base).append("a", (Object)
new Integer[] {i3, i4}, true).toString());
}
@Test
diff --git
a/src/test/java/org/apache/commons/lang3/builder/NoClassNameToStringStyleTest.java
b/src/test/java/org/apache/commons/lang3/builder/NoClassNameToStringStyleTest.java
index bd95000..b5c2d92 100644
---
a/src/test/java/org/apache/commons/lang3/builder/NoClassNameToStringStyleTest.java
+++
b/src/test/java/org/apache/commons/lang3/builder/NoClassNameToStringStyleTest.java
@@ -18,8 +18,8 @@ package org.apache.commons.lang3.builder;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
import org.apache.commons.lang3.builder.ToStringStyleTest.Person;
import org.junit.jupiter.api.AfterEach;
@@ -70,12 +70,38 @@ public class NoClassNameToStringStyleTest {
assertEquals("[a=3]", new ToStringBuilder(base).append("a",
i3).toString());
assertEquals("[a=3,b=4]", new ToStringBuilder(base).append("a",
i3).append("b", i4).toString());
assertEquals("[a=<Integer>]", new ToStringBuilder(base).append("a",
i3, false).toString());
- assertEquals("[a=<size=0>]", new ToStringBuilder(base).append("a", new
ArrayList<>(), false).toString());
- assertEquals("[a=[]]", new ToStringBuilder(base).append("a", new
ArrayList<>(), true).toString());
- assertEquals("[a=<size=0>]", new ToStringBuilder(base).append("a", new
HashMap<>(), false).toString());
- assertEquals("[a={}]", new ToStringBuilder(base).append("a", new
HashMap<>(), true).toString());
- assertEquals("[a=<size=0>]", new ToStringBuilder(base).append("a",
(Object) new String[0], false).toString());
- assertEquals("[a={}]", new ToStringBuilder(base).append("a", (Object)
new String[0], true).toString());
+ }
+
+ @Test
+ public void testCollection() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals("[a=<size=0>]", new ToStringBuilder(base).append("a",
Collections.emptyList(), false).toString());
+ assertEquals("[a=[]]", new ToStringBuilder(base).append("a",
Collections.emptyList(), true).toString());
+ assertEquals("[a=<size=1>]", new ToStringBuilder(base).append("a",
Collections.singletonList(i3), false).toString());
+ assertEquals("[a=[3]]", new ToStringBuilder(base).append("a",
Collections.singletonList(i3), true).toString());
+ assertEquals("[a=<size=2>]", new ToStringBuilder(base).append("a",
Arrays.asList(i3, i4), false).toString());
+ assertEquals("[a=[3, 4]]", new ToStringBuilder(base).append("a",
Arrays.asList(i3, i4), true).toString());
+ }
+
+ @Test
+ public void testMap() {
+ assertEquals("[a=<size=0>]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), false).toString());
+ assertEquals("[a={}]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), true).toString());
+ assertEquals("[a=<size=1>]", new ToStringBuilder(base).append("a",
Collections.singletonMap("k", "v"), false).toString());
+ assertEquals("[a={k=v}]", new ToStringBuilder(base).append("a",
Collections.singletonMap("k", "v"), true).toString());
+ }
+
+ @Test
+ public void testArray() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals("[a=<size=0>]", new ToStringBuilder(base).append("a",
(Object) new Integer[0], false).toString());
+ assertEquals("[a={}]", new ToStringBuilder(base).append("a", (Object)
new Integer[0], true).toString());
+ assertEquals("[a=<size=1>]", new ToStringBuilder(base).append("a",
(Object) new Integer[] {i3}, false).toString());
+ assertEquals("[a={3}]", new ToStringBuilder(base).append("a", (Object)
new Integer[] {i3}, true).toString());
+ assertEquals("[a=<size=2>]", new ToStringBuilder(base).append("a",
(Object) new Integer[] {i3, i4}, false).toString());
+ assertEquals("[a={3,4}]", new ToStringBuilder(base).append("a",
(Object) new Integer[] {i3, i4}, true).toString());
}
@Test
diff --git
a/src/test/java/org/apache/commons/lang3/builder/NoFieldNamesToStringStyleTest.java
b/src/test/java/org/apache/commons/lang3/builder/NoFieldNamesToStringStyleTest.java
index 12caa73..04ac8e6 100644
---
a/src/test/java/org/apache/commons/lang3/builder/NoFieldNamesToStringStyleTest.java
+++
b/src/test/java/org/apache/commons/lang3/builder/NoFieldNamesToStringStyleTest.java
@@ -18,8 +18,8 @@ package org.apache.commons.lang3.builder;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
import org.apache.commons.lang3.builder.ToStringStyleTest.Person;
import org.junit.jupiter.api.AfterEach;
@@ -71,12 +71,38 @@ public class NoFieldNamesToStringStyleTest {
assertEquals(baseStr + "[3]", new ToStringBuilder(base).append("a",
i3).toString());
assertEquals(baseStr + "[3,4]", new ToStringBuilder(base).append("a",
i3).append("b", i4).toString());
assertEquals(baseStr + "[<Integer>]", new
ToStringBuilder(base).append("a", i3, false).toString());
- assertEquals(baseStr + "[<size=0>]", new
ToStringBuilder(base).append("a", new ArrayList<>(), false).toString());
- assertEquals(baseStr + "[[]]", new ToStringBuilder(base).append("a",
new ArrayList<>(), true).toString());
- assertEquals(baseStr + "[<size=0>]", new
ToStringBuilder(base).append("a", new HashMap<>(), false).toString());
- assertEquals(baseStr + "[{}]", new ToStringBuilder(base).append("a",
new HashMap<>(), true).toString());
- assertEquals(baseStr + "[<size=0>]", new
ToStringBuilder(base).append("a", (Object) new String[0], false).toString());
- assertEquals(baseStr + "[{}]", new ToStringBuilder(base).append("a",
(Object) new String[0], true).toString());
+ }
+
+ @Test
+ public void testCollection() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[<size=0>]", new
ToStringBuilder(base).append("a", Collections.emptyList(), false).toString());
+ assertEquals(baseStr + "[[]]", new ToStringBuilder(base).append("a",
Collections.emptyList(), true).toString());
+ assertEquals(baseStr + "[<size=1>]", new
ToStringBuilder(base).append("a", Collections.singletonList(i3),
false).toString());
+ assertEquals(baseStr + "[[3]]", new ToStringBuilder(base).append("a",
Collections.singletonList(i3), true).toString());
+ assertEquals(baseStr + "[<size=2>]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), false).toString());
+ assertEquals(baseStr + "[[3, 4]]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), true).toString());
+ }
+
+ @Test
+ public void testMap() {
+ assertEquals(baseStr + "[<size=0>]", new
ToStringBuilder(base).append("a", Collections.emptyMap(), false).toString());
+ assertEquals(baseStr + "[{}]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), true).toString());
+ assertEquals(baseStr + "[<size=1>]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
false).toString());
+ assertEquals(baseStr + "[{k=v}]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
true).toString());
+ }
+
+ @Test
+ public void testArray() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[<size=0>]", new
ToStringBuilder(base).append("a", (Object) new Integer[0], false).toString());
+ assertEquals(baseStr + "[{}]", new ToStringBuilder(base).append("a",
(Object) new Integer[0], true).toString());
+ assertEquals(baseStr + "[<size=1>]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3},
false).toString());
+ assertEquals(baseStr + "[{3}]", new ToStringBuilder(base).append("a",
(Object) new Integer[] {i3}, true).toString());
+ assertEquals(baseStr + "[<size=2>]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
false).toString());
+ assertEquals(baseStr + "[{3,4}]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
true).toString());
}
@Test
diff --git
a/src/test/java/org/apache/commons/lang3/builder/ShortPrefixToStringStyleTest.java
b/src/test/java/org/apache/commons/lang3/builder/ShortPrefixToStringStyleTest.java
index c39939f..4d60dc4 100644
---
a/src/test/java/org/apache/commons/lang3/builder/ShortPrefixToStringStyleTest.java
+++
b/src/test/java/org/apache/commons/lang3/builder/ShortPrefixToStringStyleTest.java
@@ -18,8 +18,8 @@ package org.apache.commons.lang3.builder;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
import org.apache.commons.lang3.builder.ToStringStyleTest.Person;
import org.junit.jupiter.api.AfterEach;
@@ -71,12 +71,38 @@ public class ShortPrefixToStringStyleTest {
assertEquals(baseStr + "[a=3]", new ToStringBuilder(base).append("a",
i3).toString());
assertEquals(baseStr + "[a=3,b=4]", new
ToStringBuilder(base).append("a", i3).append("b", i4).toString());
assertEquals(baseStr + "[a=<Integer>]", new
ToStringBuilder(base).append("a", i3, false).toString());
- assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", new ArrayList<>(), false).toString());
- assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
new ArrayList<>(), true).toString());
- assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", new HashMap<>(), false).toString());
- assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
new HashMap<>(), true).toString());
- assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", (Object) new String[0], false).toString());
- assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
(Object) new String[0], true).toString());
+ }
+
+ @Test
+ public void testCollection() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", Collections.emptyList(), false).toString());
+ assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
Collections.emptyList(), true).toString());
+ assertEquals(baseStr + "[a=<size=1>]", new
ToStringBuilder(base).append("a", Collections.singletonList(i3),
false).toString());
+ assertEquals(baseStr + "[a=[3]]", new
ToStringBuilder(base).append("a", Collections.singletonList(i3),
true).toString());
+ assertEquals(baseStr + "[a=<size=2>]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), false).toString());
+ assertEquals(baseStr + "[a=[3, 4]]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), true).toString());
+ }
+
+ @Test
+ public void testMap() {
+ assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", Collections.emptyMap(), false).toString());
+ assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), true).toString());
+ assertEquals(baseStr + "[a=<size=1>]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
false).toString());
+ assertEquals(baseStr + "[a={k=v}]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
true).toString());
+ }
+
+ @Test
+ public void testArray() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[a=<size=0>]", new
ToStringBuilder(base).append("a", (Object) new Integer[0], false).toString());
+ assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
(Object) new Integer[0], true).toString());
+ assertEquals(baseStr + "[a=<size=1>]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3},
false).toString());
+ assertEquals(baseStr + "[a={3}]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3},
true).toString());
+ assertEquals(baseStr + "[a=<size=2>]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
false).toString());
+ assertEquals(baseStr + "[a={3,4}]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
true).toString());
}
@Test
diff --git
a/src/test/java/org/apache/commons/lang3/builder/SimpleToStringStyleTest.java
b/src/test/java/org/apache/commons/lang3/builder/SimpleToStringStyleTest.java
index f44433a..edc8ed9 100644
---
a/src/test/java/org/apache/commons/lang3/builder/SimpleToStringStyleTest.java
+++
b/src/test/java/org/apache/commons/lang3/builder/SimpleToStringStyleTest.java
@@ -18,8 +18,8 @@ package org.apache.commons.lang3.builder;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
import org.apache.commons.lang3.builder.ToStringStyleTest.Person;
import org.junit.jupiter.api.AfterEach;
@@ -70,12 +70,38 @@ public class SimpleToStringStyleTest {
assertEquals("3", new ToStringBuilder(base).append("a",
i3).toString());
assertEquals("3,4", new ToStringBuilder(base).append("a",
i3).append("b", i4).toString());
assertEquals("<Integer>", new ToStringBuilder(base).append("a", i3,
false).toString());
- assertEquals("<size=0>", new ToStringBuilder(base).append("a", new
ArrayList<>(), false).toString());
- assertEquals("[]", new ToStringBuilder(base).append("a", new
ArrayList<>(), true).toString());
- assertEquals("<size=0>", new ToStringBuilder(base).append("a", new
HashMap<>(), false).toString());
- assertEquals("{}", new ToStringBuilder(base).append("a", new
HashMap<>(), true).toString());
- assertEquals("<size=0>", new ToStringBuilder(base).append("a",
(Object) new String[0], false).toString());
- assertEquals("{}", new ToStringBuilder(base).append("a", (Object) new
String[0], true).toString());
+ }
+
+ @Test
+ public void testCollection() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals("<size=0>", new ToStringBuilder(base).append("a",
Collections.emptyList(), false).toString());
+ assertEquals("[]", new ToStringBuilder(base).append("a",
Collections.emptyList(), true).toString());
+ assertEquals("<size=1>", new ToStringBuilder(base).append("a",
Collections.singletonList(i3), false).toString());
+ assertEquals("[3]", new ToStringBuilder(base).append("a",
Collections.singletonList(i3), true).toString());
+ assertEquals("<size=2>", new ToStringBuilder(base).append("a",
Arrays.asList(i3, i4), false).toString());
+ assertEquals("[3, 4]", new ToStringBuilder(base).append("a",
Arrays.asList(i3, i4), true).toString());
+ }
+
+ @Test
+ public void testMap() {
+ assertEquals("<size=0>", new ToStringBuilder(base).append("a",
Collections.emptyMap(), false).toString());
+ assertEquals("{}", new ToStringBuilder(base).append("a",
Collections.emptyMap(), true).toString());
+ assertEquals("<size=1>", new ToStringBuilder(base).append("a",
Collections.singletonMap("k", "v"), false).toString());
+ assertEquals("{k=v}", new ToStringBuilder(base).append("a",
Collections.singletonMap("k", "v"), true).toString());
+ }
+
+ @Test
+ public void testArray() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals("<size=0>", new ToStringBuilder(base).append("a",
(Object) new Integer[0], false).toString());
+ assertEquals("{}", new ToStringBuilder(base).append("a", (Object) new
Integer[0], true).toString());
+ assertEquals("<size=1>", new ToStringBuilder(base).append("a",
(Object) new Integer[]{i3}, false).toString());
+ assertEquals("{3}", new ToStringBuilder(base).append("a", (Object) new
Integer[]{i3}, true).toString());
+ assertEquals("<size=2>", new ToStringBuilder(base).append("a",
(Object) new Integer[]{i3, i4}, false).toString());
+ assertEquals("{3,4}", new ToStringBuilder(base).append("a", (Object)
new Integer[]{i3, i4}, true).toString());
}
@Test
diff --git
a/src/test/java/org/apache/commons/lang3/builder/StandardToStringStyleTest.java
b/src/test/java/org/apache/commons/lang3/builder/StandardToStringStyleTest.java
index 8e8ebe0..cdca05e 100644
---
a/src/test/java/org/apache/commons/lang3/builder/StandardToStringStyleTest.java
+++
b/src/test/java/org/apache/commons/lang3/builder/StandardToStringStyleTest.java
@@ -20,8 +20,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
import org.apache.commons.lang3.builder.ToStringStyleTest.Person;
import org.junit.jupiter.api.AfterEach;
@@ -88,12 +88,38 @@ public class StandardToStringStyleTest {
assertEquals(baseStr + "[a=3]", new ToStringBuilder(base).append("a",
i3).toString());
assertEquals(baseStr + "[a=3,b=4]", new
ToStringBuilder(base).append("a", i3).append("b", i4).toString());
assertEquals(baseStr + "[a=%Integer%]", new
ToStringBuilder(base).append("a", i3, false).toString());
- assertEquals(baseStr + "[a=%SIZE=0%]", new
ToStringBuilder(base).append("a", new ArrayList<>(), false).toString());
- assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
new ArrayList<>(), true).toString());
- assertEquals(baseStr + "[a=%SIZE=0%]", new
ToStringBuilder(base).append("a", new HashMap<>(), false).toString());
- assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
new HashMap<>(), true).toString());
- assertEquals(baseStr + "[a=%SIZE=0%]", new
ToStringBuilder(base).append("a", (Object) new String[0], false).toString());
- assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
(Object) new String[0], true).toString());
+ }
+
+ @Test
+ public void testCollection() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[a=%SIZE=0%]", new
ToStringBuilder(base).append("a", Collections.emptyList(), false).toString());
+ assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
Collections.emptyList(), true).toString());
+ assertEquals(baseStr + "[a=%SIZE=1%]", new
ToStringBuilder(base).append("a", Collections.singletonList(i3),
false).toString());
+ assertEquals(baseStr + "[a=[3]]", new
ToStringBuilder(base).append("a", Collections.singletonList(i3),
true).toString());
+ assertEquals(baseStr + "[a=%SIZE=2%]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), false).toString());
+ assertEquals(baseStr + "[a=[3, 4]]", new
ToStringBuilder(base).append("a", Arrays.asList(i3, i4), true).toString());
+ }
+
+ @Test
+ public void testMap() {
+ assertEquals(baseStr + "[a=%SIZE=0%]", new
ToStringBuilder(base).append("a", Collections.emptyMap(), false).toString());
+ assertEquals(baseStr + "[a={}]", new ToStringBuilder(base).append("a",
Collections.emptyMap(), true).toString());
+ assertEquals(baseStr + "[a=%SIZE=1%]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
false).toString());
+ assertEquals(baseStr + "[a={k=v}]", new
ToStringBuilder(base).append("a", Collections.singletonMap("k", "v"),
true).toString());
+ }
+
+ @Test
+ public void testArray() {
+ final Integer i3 = Integer.valueOf(3);
+ final Integer i4 = Integer.valueOf(4);
+ assertEquals(baseStr + "[a=%SIZE=0%]", new
ToStringBuilder(base).append("a", (Object) new Integer[0], false).toString());
+ assertEquals(baseStr + "[a=[]]", new ToStringBuilder(base).append("a",
(Object) new Integer[0], true).toString());
+ assertEquals(baseStr + "[a=%SIZE=1%]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3},
false).toString());
+ assertEquals(baseStr + "[a=[3]]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3},
true).toString());
+ assertEquals(baseStr + "[a=%SIZE=2%]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
false).toString());
+ assertEquals(baseStr + "[a=[3, 4]]", new
ToStringBuilder(base).append("a", (Object) new Integer[] {i3, i4},
true).toString());
}
@Test