Add tests for status quo in ObjectUtils.nullSafeConciseToString()

This commit is contained in:
Sam Brannen
2023-07-04 10:16:34 +02:00
parent 45f747fae1
commit a7f07328ab

View File

@@ -17,6 +17,8 @@
package org.springframework.util;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URI;
import java.net.URL;
import java.sql.SQLException;
@@ -224,7 +226,7 @@ class ObjectUtilsTests {
}
@Test
void addObjectToNullArray() throws Exception {
void addObjectToNullArray() {
String newElement = "foo";
String[] newArray = ObjectUtils.addObjectToArray(null, newElement);
assertThat(newArray).hasSize(1);
@@ -232,14 +234,14 @@ class ObjectUtilsTests {
}
@Test
void addNullObjectToNullArray() throws Exception {
void addNullObjectToNullArray() {
Object[] newArray = ObjectUtils.addObjectToArray(null, null);
assertThat(newArray).hasSize(1);
assertThat(newArray[0]).isNull();
}
@Test
void nullSafeEqualsWithArrays() throws Exception {
void nullSafeEqualsWithArrays() {
assertThat(ObjectUtils.nullSafeEquals(new String[] {"a", "b", "c"}, new String[] {"a", "b", "c"})).isTrue();
assertThat(ObjectUtils.nullSafeEquals(new int[] {1, 2, 3}, new int[] {1, 2, 3})).isTrue();
}
@@ -881,11 +883,19 @@ class ObjectUtilsTests {
}
@Test
void nullSafeConciseToStringForNumber() {
void nullSafeConciseToStringForPrimitivesAndWrappers() {
assertThat(ObjectUtils.nullSafeConciseToString(true)).isEqualTo("true");
assertThat(ObjectUtils.nullSafeConciseToString('X')).isEqualTo("X");
assertThat(ObjectUtils.nullSafeConciseToString(42L)).isEqualTo("42");
assertThat(ObjectUtils.nullSafeConciseToString(99.1234D)).isEqualTo("99.1234");
}
@Test
void nullSafeConciseToStringForBigNumbers() {
assertThat(ObjectUtils.nullSafeConciseToString(BigInteger.valueOf(42L))).isEqualTo("42");
assertThat(ObjectUtils.nullSafeConciseToString(BigDecimal.valueOf(99.1234D))).isEqualTo("99.1234");
}
@Test
void nullSafeConciseToStringForDate() {
Date date = new Date();
@@ -943,6 +953,13 @@ class ObjectUtilsTests {
assertThat(ObjectUtils.nullSafeConciseToString(new HashSet<>(list))).startsWith(prefix(HashSet.class));
}
@Test
void nullSafeConciseToStringForMaps() {
HashMap<String, Object> map = new HashMap<>();
map.put("foo", 42L);
assertThat(ObjectUtils.nullSafeConciseToString(map)).startsWith(prefix(map.getClass()));
}
@Test
void nullSafeConciseToStringForCustomTypes() {
class ExplosiveType {