JsonValueHandler { public abstract T readValue(JsonParser p) throws IOException;  @SuppressWarnings({"unchecked", "rawtypes"}) static JsonValueHandler<T> getValueHandler(TypeDef type, Class<T> javaClass, SymbolMapping<T> symbolMapping, 
            boolean jsSafe, Accessor<?, ?> accessor); abstract void writeValue(T value, JsonGenerator g); abstract T readValue(JsonParser p); static final JsonValueHandler<Byte> INT8; static final JsonValueHandler<Short> INT16; static final JsonValueHandler<Integer> INT32; static final JsonValueHandler<Long> INT64; static final JsonValueHandler<Long> INT64_SAFE; static final JsonValueHandler<Byte> UINT8; static final JsonValueHandler<Short> UINT16; static final JsonValueHandler<Character> CHAR; static final JsonValueHandler<Integer> UINT32; static final JsonValueHandler<Long> UINT64; static final JsonValueHandler<Long> UINT64_SAFE; static final JsonValueHandler<String> STRING; static final JsonValueHandler<byte[]> BINARY; static final JsonValueHandler<Boolean> BOOLEAN; static final JsonValueHandler<BigDecimal> DECIMAL; static final JsonValueHandler<BigDecimal> DECIMAL_SAFE; static final JsonValueHandler<BigDecimal> BIGDECIMAL; static final JsonValueHandler<BigDecimal> BIGDECIMAL_SAFE; static final JsonValueHandler<BigInteger> BIGINT; static final JsonValueHandler<BigInteger> BIGINT_SAFE; static final JsonValueHandler<Float> FLOAT32; static final JsonValueHandler<Double> FLOAT64; }
@Test public void testSafeUInt64DecodeMaxUInt64() throws IOException { JsonParser p = f.createParser("\"18446744073709551615\""); p.nextToken(); assertEquals(-1L, JsonValueHandler.UINT64_SAFE.readValue(p).longValue()); }
@Test public void testUInt64DecodeMaxUInt64() throws IOException { JsonParser p = f.createParser("18446744073709551615"); p.nextToken(); assertEquals(-1L, JsonValueHandler.UINT64.readValue(p).longValue()); }
@Test public void testSafeInt64DecodeMinValue() throws IOException { JsonParser p = f.createParser("\"9223372036854775808\""); p.nextToken(); assertEquals(Long.MIN_VALUE, JsonValueHandler.UINT64_SAFE.readValue(p).longValue()); }
@Test public void testInt64DecodeMinValue() throws IOException { JsonParser p = f.createParser("9223372036854775808"); p.nextToken(); assertEquals(Long.MIN_VALUE, JsonValueHandler.UINT64.readValue(p).longValue()); }
@Test public void testFloat64DecodeNaN() throws IOException { JsonParser p = f.createParser("\"NaN\""); p.nextToken(); assertTrue(Double.isNaN(JsonValueHandler.FLOAT64.readValue(p))); }
@Test public void testFloat64DecodePosInfinity() throws IOException { JsonParser p = f.createParser("\"Infinity\""); p.nextToken(); assertTrue(Double.POSITIVE_INFINITY == JsonValueHandler.FLOAT64.readValue(p)); }
@Test public void testFloat64DecodeNegInfinity() throws IOException { JsonParser p = f.createParser("\"-Infinity\""); p.nextToken(); assertTrue(Double.NEGATIVE_INFINITY == JsonValueHandler.FLOAT64.readValue(p)); }
@Test public void testFloat32DecodeNaN() throws IOException { JsonParser p = f.createParser("\"NaN\""); p.nextToken(); assertTrue(Double.isNaN(JsonValueHandler.FLOAT32.readValue(p))); }
@Test public void testFloat32DecodePosInfinity() throws IOException { JsonParser p = f.createParser("\"Infinity\""); p.nextToken(); assertTrue(Float.POSITIVE_INFINITY == JsonValueHandler.FLOAT32.readValue(p)); }
@Test public void testFloat32DecodeNegInfinity() throws IOException { JsonParser p = f.createParser("\"-Infinity\""); p.nextToken(); assertTrue(Float.NEGATIVE_INFINITY == JsonValueHandler.FLOAT32.readValue(p)); }