diff options
author | Tatu Saloranta <tatu.saloranta@iki.fi> | 2019-02-04 17:51:04 -0800 |
---|---|---|
committer | Tatu Saloranta <tatu.saloranta@iki.fi> | 2019-02-04 17:51:04 -0800 |
commit | e287a62cd32832d5a9611d5b8f3bc06ec1310dc0 (patch) | |
tree | 6914fd134bbdd940ff12f73e3fbc56f786eb63ca /src/test/java/com/fasterxml/jackson/databind/ser | |
parent | a475c0d526ba9b8343e28ad9543a46005b0842b3 (diff) | |
download | jackson-databind-e287a62cd32832d5a9611d5b8f3bc06ec1310dc0.tar.gz |
Fix #2230
Diffstat (limited to 'src/test/java/com/fasterxml/jackson/databind/ser')
-rw-r--r-- | src/test/java/com/fasterxml/jackson/databind/ser/jdk/BigDecimalPlain2230Test.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/test/java/com/fasterxml/jackson/databind/ser/jdk/BigDecimalPlain2230Test.java b/src/test/java/com/fasterxml/jackson/databind/ser/jdk/BigDecimalPlain2230Test.java new file mode 100644 index 000000000..fdbe0880b --- /dev/null +++ b/src/test/java/com/fasterxml/jackson/databind/ser/jdk/BigDecimalPlain2230Test.java @@ -0,0 +1,37 @@ +package com.fasterxml.jackson.databind.ser.jdk; + +import java.math.BigDecimal; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import com.fasterxml.jackson.core.StreamWriteFeature; + +import com.fasterxml.jackson.databind.*; + +public class BigDecimalPlain2230Test extends BaseMapTest +{ + static class BigDecimalAsString { + @JsonFormat(shape=JsonFormat.Shape.STRING) + public BigDecimal value; + + public BigDecimalAsString() { this(BigDecimal.valueOf(0.25)); } + public BigDecimalAsString(BigDecimal v) { value = v; } + } + + private final ObjectMapper MAPPER = objectMapper(); + + public void testBigIntegerAsPlainTest() throws Exception + { + final String NORM_VALUE = "0.0000000005"; + final BigDecimal BD_VALUE = new BigDecimal(NORM_VALUE); + final BigDecimalAsString INPUT = new BigDecimalAsString(BD_VALUE); + // by default, use the default `toString()` + assertEquals("{\"value\":\""+BD_VALUE.toString()+"\"}", MAPPER.writeValueAsString(INPUT)); + + // but can force to "plain" notation + final ObjectMapper m = jsonMapperBuilder() + .enable(StreamWriteFeature.WRITE_BIGDECIMAL_AS_PLAIN) + .build(); + assertEquals("{\"value\":\""+NORM_VALUE+"\"}", m.writeValueAsString(INPUT)); + } +} |