package com.jayway.jsonpath; import org.junit.Test; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Date; import static com.jayway.jsonpath.JsonPath.parse; import static org.assertj.core.api.Assertions.assertThat; public class MapperTest extends BaseTest { @Test public void an_Integer_can_be_converted_to_a_Long() { assertThat(parse("{\"val\": 1}").read("val", Long.class)).isEqualTo(1L); } @Test public void an_String_can_be_converted_to_a_Long() { assertThat(parse("{\"val\": 1}").read("val", Long.class)).isEqualTo(1L); } @Test public void an_Integer_can_be_converted_to_a_String() { assertThat(parse("{\"val\": 1}").read("val", String.class)).isEqualTo("1"); } @Test public void an_Integer_can_be_converted_to_a_Double() { assertThat(parse("{\"val\": 1}").read("val", Double.class)).isEqualTo(1D); } @Test public void a_BigDecimal_can_be_converted_to_a_Long() { assertThat(parse("{\"val\": 1.5}").read("val", Long.class)).isEqualTo(1L); } @Test public void a_Long_can_be_converted_to_a_Date() { Date now = new Date(); assertThat(parse("{\"val\": "+now.getTime()+"}").read("val", Date.class)).isEqualTo(now); } @Test public void a_String_can_be_converted_to_a_BigInteger() { assertThat(parse("{\"val\": \"1\"}").read("val", BigInteger.class)).isEqualTo(BigInteger.valueOf(1)); } @Test public void a_String_can_be_converted_to_a_BigDecimal() { assertThat(parse("{\"val\": \"1.5\"}").read("val", BigDecimal.class)).isEqualTo(BigDecimal.valueOf(1.5d)); } @Test public void a_Boolean_can_be_converted_to_a_primitive_boolean() { assertThat(parse("{\"val\": true}").read("val", boolean.class)).isTrue(); assertThat(parse("{\"val\": false}").read("val", boolean.class)).isFalse(); } }