Skip to content

Commit c2c3776

Browse files
committed
Add U.Builder.toString() method.
1 parent 9cf6131 commit c2c3776

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

src/main/java/com/github/underscore/lodash/U.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2277,7 +2277,7 @@ public Builder set(final String path, final Object value) {
22772277
}
22782278

22792279
public Builder add(final Builder builder) {
2280-
data.putAll(builder.data);
2280+
data.put(String.valueOf(data.size()), builder.build());
22812281
return this;
22822282
}
22832283

@@ -2305,5 +2305,10 @@ public static Builder fromJson(final String json) {
23052305
builder.data.putAll(fromJsonMap(json));
23062306
return builder;
23072307
}
2308+
2309+
@Override
2310+
public String toString() {
2311+
return data.toString();
2312+
}
23082313
}
23092314
}

src/test/java/com/github/underscore/lodash/LodashTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,28 @@ public void objectBuilder() {
763763
builder.toXml();
764764
U.Builder.fromXml("<a/>");
765765
builder.set("1", "3");
766+
builder.toString();
766767
assertEquals("{1=3}", builder.build().toString());
768+
Map<String, Object> value = U.objectBuilder()
769+
.add("firstName", "John")
770+
.add("lastName", "Smith")
771+
.add("age", 25)
772+
.add("address", U.objectBuilder()
773+
.add("streetAddress", "21 2nd Street")
774+
.add("city", "New York")
775+
.add("state", "NY")
776+
.add("postalCode", "10021"))
777+
.add("phoneNumber", U.objectBuilder()
778+
.add(U.objectBuilder()
779+
.add("type", "home")
780+
.add("number", "212 555-1234"))
781+
.add(U.objectBuilder()
782+
.add("type", "fax")
783+
.add("number", "646 555-4567")))
784+
.build();
785+
assertEquals("{firstName=John, lastName=Smith, age=25, address={streetAddress=21 2nd Street, "
786+
+ "city=New York, state=NY, postalCode=10021}, phoneNumber={0={type=home, number=212 555-1234}, "
787+
+ "1={type=fax, number=646 555-4567}}}", value.toString());
767788
}
768789

769790
@SuppressWarnings("unchecked")

0 commit comments

Comments
 (0)