Skip to content

Commit fc67817

Browse files
authored
add number test where num starts with a dot (#4436)
1 parent b041941 commit fc67817

File tree

2 files changed

+53
-24
lines changed

2 files changed

+53
-24
lines changed

src/test/java/com/fasterxml/jackson/databind/deser/TestBigNumbers.java

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,12 @@
1313

1414
public class TestBigNumbers extends BaseMapTest
1515
{
16-
static class BigDecimalWrapper {
17-
BigDecimal number;
18-
19-
public BigDecimalWrapper() {}
20-
21-
public BigDecimalWrapper(BigDecimal number) {
22-
this.number = number;
23-
}
24-
25-
public void setNumber(BigDecimal number) {
26-
this.number = number;
27-
}
28-
}
29-
3016
static class BigIntegerWrapper {
31-
BigInteger number;
32-
33-
public BigIntegerWrapper() {}
34-
35-
public BigIntegerWrapper(BigInteger number) {
36-
this.number = number;
37-
}
17+
public BigInteger number;
18+
}
3819

39-
public void setNumber(BigInteger number) {
40-
this.number = number;
41-
}
20+
static class BigDecimalWrapper {
21+
public BigDecimal number;
4222
}
4323

4424
/*
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package com.fasterxml.jackson.databind.deser.jdk;
2+
3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import com.fasterxml.jackson.databind.json.JsonMapper;
5+
import org.junit.jupiter.api.Test;
6+
7+
import java.math.BigDecimal;
8+
9+
import static org.junit.jupiter.api.Assertions.assertEquals;
10+
11+
// @since 2.16.3
12+
public class BigDecimalDeser4435Test
13+
{
14+
static class BigDecimalWrapper {
15+
public BigDecimal number;
16+
}
17+
18+
/*
19+
/**********************************************************
20+
/* Tests
21+
/**********************************************************
22+
*/
23+
24+
private final ObjectMapper MAPPER = JsonMapper.builder().build();
25+
26+
@Test
27+
public void testNumberStartingWithDot() throws Exception
28+
{
29+
String num = ".555555555555555555555555555555";
30+
BigDecimalWrapper w = MAPPER.readValue("{\"number\":\"" + num + "\"}", BigDecimalWrapper.class);
31+
assertEquals(new BigDecimal(num), w.number);
32+
}
33+
34+
@Test
35+
public void testNumberStartingWithMinusDot() throws Exception
36+
{
37+
String num = "-.555555555555555555555555555555";
38+
BigDecimalWrapper w = MAPPER.readValue("{\"number\":\"" + num + "\"}", BigDecimalWrapper.class);
39+
assertEquals(new BigDecimal(num), w.number);
40+
}
41+
42+
@Test
43+
public void testNumberStartingWithPlusDot() throws Exception
44+
{
45+
String num = "+.555555555555555555555555555555";
46+
BigDecimalWrapper w = MAPPER.readValue("{\"number\":\"" + num + "\"}", BigDecimalWrapper.class);
47+
assertEquals(new BigDecimal(num), w.number);
48+
}
49+
}

0 commit comments

Comments
 (0)