Skip to content

Commit 03d2cdb

Browse files
authored
fix(toString): improve output for additional properties using Map.ToString (#119)
- Refactor the ToString override to utilize Map.ToString Closes #118
1 parent 0b85743 commit 03d2cdb

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

src/main/java/io/apimatic/core/types/AdditionalProperties.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.util.LinkedHashMap;
66
import java.util.Map;
77
import java.util.Set;
8-
import java.util.stream.Collectors;
98

109
import com.fasterxml.jackson.annotation.JsonGetter;
1110

@@ -93,12 +92,7 @@ public void setAdditionalProperty(String key, T value, boolean skipNullValue) {
9392

9493
@Override
9594
public String toString() {
96-
if (properties.isEmpty()) {
97-
return "";
98-
}
99-
100-
return properties.entrySet().stream().map(entry -> entry.getKey() + "=" + entry.getValue())
101-
.collect(Collectors.joining(", ", ", ", ""));
95+
return properties.toString();
10296
}
10397

10498
/**

src/test/java/apimatic/core/type/AdditionalPropertiesTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,4 +346,29 @@ public Void mString(String actualValue) {
346346
}
347347
});
348348
}
349+
350+
@Test
351+
public void testModelWithAdditionalPropertiesToString() throws IOException {
352+
ModelWithPrimitiveAdditionalProperties simpleModel =
353+
new ModelWithPrimitiveAdditionalProperties.Builder(
354+
"APIMatic").additionalProperty("name", "value").build();
355+
356+
final String actualSimpleModelToString =
357+
"ModelWithPrimitiveAdditionalProperties [company=APIMatic{name=value}]";
358+
359+
assertEquals(simpleModel.toString(), actualSimpleModelToString);
360+
361+
ModelWithDateTimeAdditionalProperties dateTimeModel =
362+
new ModelWithDateTimeAdditionalProperties.Builder("APIMatic")
363+
.additionalProperty("name",
364+
LocalDateTime.of(DateTimeConstants.YEAR2000, DateTimeConstants.JULY,
365+
DateTimeConstants.DAY13, DateTimeConstants.HOUR6,
366+
DateTimeConstants.MINUTES10))
367+
.build();
368+
369+
final String actualDateTimeModelToString =
370+
"ModelWithDateTimeAdditionalProperties [company=APIMatic{name=2000-07-13T06:10}]";
371+
372+
assertEquals(dateTimeModel.toString(), actualDateTimeModelToString);
373+
}
349374
}

0 commit comments

Comments
 (0)