aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/com/fasterxml/jackson/databind/ser
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2019-02-04 17:51:04 -0800
committerTatu Saloranta <tatu.saloranta@iki.fi>2019-02-04 17:51:04 -0800
commite287a62cd32832d5a9611d5b8f3bc06ec1310dc0 (patch)
tree6914fd134bbdd940ff12f73e3fbc56f786eb63ca /src/test/java/com/fasterxml/jackson/databind/ser
parenta475c0d526ba9b8343e28ad9543a46005b0842b3 (diff)
downloadjackson-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.java37
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));
+ }
+}