aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/com/fasterxml/jackson/failing
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-07-09 21:00:23 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-07-09 21:00:23 -0700
commit1369c51957f81470579272c962f1ca755e51470f (patch)
tree617c9da4dce55455754346bf1b439d73bd693e92 /src/test/java/com/fasterxml/jackson/failing
parent3dec03cff1f222bb947549615b2d097234b24088 (diff)
downloadjackson-databind-1369c51957f81470579272c962f1ca755e51470f.tar.gz
Fixed #2784 (and #2644)
Diffstat (limited to 'src/test/java/com/fasterxml/jackson/failing')
-rw-r--r--src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java86
-rw-r--r--src/test/java/com/fasterxml/jackson/failing/NumberNodes1770Test.java2
2 files changed, 1 insertions, 87 deletions
diff --git a/src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java b/src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java
deleted file mode 100644
index 271687b95..000000000
--- a/src/test/java/com/fasterxml/jackson/failing/JDKNumberDeser2644Test.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.fasterxml.jackson.failing;
-
-import java.math.BigDecimal;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonUnwrapped;
-import com.fasterxml.jackson.databind.*;
-
-// Tests for
-//
-// [databind#2644]
-// [databind#2784]
-public class JDKNumberDeser2644Test extends BaseMapTest
-{
- // [databind#2644]
- static class NodeRoot2644 {
- public String type;
-
- @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "type")
- @JsonSubTypes(value = {
- @JsonSubTypes.Type(value = NodeParent2644.class, name = "NodeParent")
- })
- public Node2644 node;
- }
-
- public static class NodeParent2644 extends Node2644 { }
-
- public static abstract class Node2644 {
- @JsonProperty("amount")
- BigDecimal val;
-
- public BigDecimal getVal() {
- return val;
- }
-
- public void setVal(BigDecimal val) {
- this.val = val;
- }
- }
-
- // [databind#2784]
- static class BigDecimalHolder2784 {
- public BigDecimal value;
- }
-
- static class NestedBigDecimalHolder2784 {
- @JsonUnwrapped
- public BigDecimalHolder2784 holder;
- }
-
- // [databind#2644]
- public void testBigDecimalSubtypes() throws Exception
- {
- ObjectMapper mapper = newJsonMapper();
-
- // NOTE: uncommenting this does work around the issue:
-// mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
- mapper.registerSubtypes(NodeParent2644.class);
-
- NodeRoot2644 root = mapper.readValue(
- "{\"type\": \"NodeParent\",\"node\": {\"amount\": 9999999999999999.99} }",
- NodeRoot2644.class
- );
-
- assertEquals(new BigDecimal("9999999999999999.99"), root.node.getVal());
- }
-
- // [databind#2784]
-
- public void testBigDecimalUnwrapped() throws Exception
- {
- final ObjectMapper mapper = newJsonMapper();
- // mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
- final String JSON = "{\"value\": 5.00}";
-
- // first simple working case:
-// BigDecimalHolder2784 holder = mapper.readValue(JSON, BigDecimalHolder2784.class);
-// assertEquals(new BigDecimal("5.00"), holder.value);
-
- // and then one that doesn't
- NestedBigDecimalHolder2784 result = mapper.readValue(JSON, NestedBigDecimalHolder2784.class);
- assertEquals(new BigDecimal("5.00"), result.holder.value);
- }
-}
diff --git a/src/test/java/com/fasterxml/jackson/failing/NumberNodes1770Test.java b/src/test/java/com/fasterxml/jackson/failing/NumberNodes1770Test.java
index 192feb4ec..a2e18f0ff 100644
--- a/src/test/java/com/fasterxml/jackson/failing/NumberNodes1770Test.java
+++ b/src/test/java/com/fasterxml/jackson/failing/NumberNodes1770Test.java
@@ -19,7 +19,7 @@ public class NumberNodes1770Test extends BaseMapTest
final JsonNode jsonNode = MAPPER.reader()
.with(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS)
.readTree("7976931348623157e309");
- assertTrue(jsonNode.isBigDecimal());
+ assertTrue("Expected DecimalNode, got: "+jsonNode.getClass().getName()+": "+jsonNode, jsonNode.isBigDecimal());
// the following fails with NumberFormatException, because jsonNode is a DoubleNode with a value of POSITIVE_INFINITY
// Assert.assertTrue(jsonNode.decimalValue().compareTo(new BigDecimal("7976931348623157e309")) == 0);
}