#2641 - toString() - addCollection() firstElement change

This commit is contained in:
Rob Bygrave
2022-04-08 22:30:00 +12:00
parent 183b601be8
commit be2466003d
2 changed files with 32 additions and 2 deletions
@@ -125,10 +125,12 @@ public final class ToStringBuilder {
sb.append("[]");
return;
}
int collectionPos = 0;
boolean firstElement = true;
sb.append("[");
for (Object o : c) {
if (collectionPos++ > 0) {
if (firstElement) {
firstElement = false;
} else {
sb.append(", ");
}
value(o);
@@ -29,6 +29,34 @@ class ToStringBuilderTest {
assertThat(builder.toString()).isEqualTo("Object@0(a:1, b:B)");
}
@Test
void add_referenceBeanCollection_expect_nothingAdded() {
ToStringBuilder builder = new ToStringBuilder();
builder.add("ref", new BeanList<>(null));
assertThat(builder.toString()).isEqualTo("");
}
@Test
void addCollection_some() {
ToStringBuilder builder = new ToStringBuilder();
builder.addCollection( new BeanList<>(List.of("A","B")));
assertThat(builder.toString()).isEqualTo("[A, B]");
}
@Test
void addCollection_null() {
ToStringBuilder builder = new ToStringBuilder();
builder.addCollection(null);
assertThat(builder.toString()).isEqualTo("[]");
}
@Test
void addCollection_empty() {
ToStringBuilder builder = new ToStringBuilder();
builder.addCollection(Collections.emptyList());
assertThat(builder.toString()).isEqualTo("[]");
}
@Test
void flatBean() {
Recurse instance0 = new Recurse(42, "java");