Skip to content

Commit a847848

Browse files
authored
add extra number test (#717)
1 parent 1d3f1fc commit a847848

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/test/java/com/fasterxml/jackson/dataformat/xml/deser/NumberDeserWithXMLTest.java

+29
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,24 @@ static class NestedFloatHolder2784 {
7474
public FloatHolder2784 holder;
7575
}
7676

77+
static class DeserializationIssue4917 {
78+
public DecimalHolder4917 decimalHolder;
79+
public double number;
80+
}
81+
82+
static class DecimalHolder4917 {
83+
public BigDecimal value;
84+
85+
private DecimalHolder4917(BigDecimal value) {
86+
this.value = value;
87+
}
88+
89+
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
90+
static DecimalHolder4917 of(BigDecimal value) {
91+
return new DecimalHolder4917(value);
92+
}
93+
}
94+
7795
/*
7896
/**********************************************************************
7997
/* Test methods
@@ -160,4 +178,15 @@ public void testVeryBigDecimalUnwrappedWithUnlimitedNumLength() throws Exception
160178
NestedBigDecimalHolder2784 result = new XmlMapper(f).readValue(DOC, NestedBigDecimalHolder2784.class);
161179
assertEquals(new BigDecimal(value), result.holder.value);
162180
}
181+
182+
// [databind#4917]
183+
@Test
184+
public void bigDecimal4917() throws Exception
185+
{
186+
DeserializationIssue4917 issue = MAPPER.readValue(
187+
"<root><decimalHolder>100.00</decimalHolder><number>50</number></root>",
188+
DeserializationIssue4917.class);
189+
assertEquals(new BigDecimal("100.00"), issue.decimalHolder.value);
190+
assertEquals(50.0, issue.number);
191+
}
163192
}

0 commit comments

Comments
 (0)