BAEL-4212 (String) or .toString()? - code + tests
This commit is contained in:
parent
e3d721b72c
commit
bbdf2ae686
@ -0,0 +1,10 @@
|
||||
package com.baeldung.tostring;
|
||||
|
||||
public class StringCastUtils {
|
||||
public static String castToString(Object object) {
|
||||
if (object instanceof String) {
|
||||
return (String) object;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
package com.baeldung.tostring;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class ToStringUnitTest {
|
||||
@Test
|
||||
public void givenString_whenCastToObjectAndString_thenSameAndNoException() {
|
||||
String input = "baeldung";
|
||||
|
||||
Object obj = input;
|
||||
String str = (String) obj;
|
||||
|
||||
assertEquals(obj, str);
|
||||
assertEquals(str, input);
|
||||
assertSame(input, str);
|
||||
}
|
||||
|
||||
@Test(expected = ClassCastException.class)
|
||||
public void givenIntegerObject_whenCastToObjectAndString_thenCastClassException() {
|
||||
Integer input = 1234;
|
||||
|
||||
Object obj = input;
|
||||
String str = (String) obj;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenNullInteger_whenCastToObjectAndString_thenSameAndNoException() {
|
||||
Integer input = null;
|
||||
|
||||
Object obj = input;
|
||||
String str = (String) obj;
|
||||
|
||||
assertEquals(obj, str);
|
||||
assertEquals(str, input);
|
||||
assertSame(input, str);
|
||||
}
|
||||
|
||||
@Test(expected = NullPointerException.class)
|
||||
public void givenNullInteger_whenToString_thenNullPointerException() {
|
||||
Integer input = null;
|
||||
|
||||
String str = input.toString();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenInteger_whenCastToObject_thenToStringEquals() {
|
||||
Integer input = 1234;
|
||||
|
||||
Object obj = input;
|
||||
|
||||
assertEquals("1234", input.toString());
|
||||
assertEquals("1234", obj.toString());
|
||||
assertEquals(input.toString(), obj.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenString_whenToString_thenSame() {
|
||||
String str = "baeldung";
|
||||
|
||||
assertEquals("baeldung", str.toString());
|
||||
assertSame(str, str.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenString_whenCastToObject_thenCastToStringReturnsSame() {
|
||||
String input = "baeldung";
|
||||
|
||||
Object obj = input;
|
||||
|
||||
assertSame(input, StringCastUtils.castToString(obj));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenInteger_whenCastToObject_thenCastToStringReturnsNull() {
|
||||
Integer input = 1234;
|
||||
|
||||
Object obj = input;
|
||||
|
||||
assertEquals(null, StringCastUtils.castToString(obj));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenIntegerNull_whenCastToObject_thenCastToStringReturnsNull() {
|
||||
Integer input = null;
|
||||
|
||||
Object obj = input;
|
||||
|
||||
assertEquals(null, StringCastUtils.castToString(obj));
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user