StringNodeTest.java
package tools.jackson.databind.node;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class StringNodeTest extends NodeTestBase
{
@Test
public void testBasics()
{
assertNull(StringNode.valueOf(null));
StringNode empty = StringNode.valueOf("");
assertStandardEquals(empty);
assertSame(StringNode.EMPTY_STRING_NODE, empty);
assertEquals(0, empty.size());
assertTrue(empty.isEmpty());
assertNodeNumbers(StringNode.valueOf("-3"), -3, -3.0);
long value = 127353264013893L;
StringNode n = StringNode.valueOf(String.valueOf(value));
assertEquals(value, n.asLong());
assertFalse(n.isNumber());
assertFalse(n.canConvertToInt());
assertFalse(n.canConvertToLong());
assertFalse(n.canConvertToExactIntegral());
// and then with non-numeric input
n = StringNode.valueOf("foobar");
assertNodeNumbersForNonNumeric(n);
assertEquals("foobar", n.asString());
assertEquals("", empty.asString());
assertTrue(StringNode.valueOf("true").asBoolean(true));
assertTrue(StringNode.valueOf("true").asBoolean(false));
assertFalse(StringNode.valueOf("false").asBoolean(true));
assertFalse(StringNode.valueOf("false").asBoolean(false));
assertNonContainerStreamMethods(n);
}
@Test
public void testEquals()
{
assertEquals(new StringNode("abc"), new StringNode("abc"));
assertNotEquals(new StringNode("abc"), new StringNode("def"));
}
@Test
public void testHashCode()
{
assertEquals("abc".hashCode(), new StringNode("abc").hashCode());
}
}