diff --git a/gson/src/main/java/org/baeldung/gson/primitives/models/LimitValuesExample.java b/gson/src/main/java/org/baeldung/gson/primitives/models/LimitValuesExample.java new file mode 100644 index 0000000000..4960a98834 --- /dev/null +++ b/gson/src/main/java/org/baeldung/gson/primitives/models/LimitValuesExample.java @@ -0,0 +1,6 @@ +package org.baeldung.gson.primitives.models; + +public class LimitValuesExample { + public float minValue; + public float maxValue; +} diff --git a/gson/src/test/java/org/baeldung/gson/primitives/UnitTest.java b/gson/src/test/java/org/baeldung/gson/primitives/UnitTest.java index 8581f07a65..95314d4d43 100644 --- a/gson/src/test/java/org/baeldung/gson/primitives/UnitTest.java +++ b/gson/src/test/java/org/baeldung/gson/primitives/UnitTest.java @@ -32,6 +32,25 @@ public class UnitTest { assertEquals(expected, gson.toJson(primitiveBundle)); } + @Test public void toJsonLimitValues() { + LimitValuesExample model = new LimitValuesExample(); + model.minValue = Float.MIN_VALUE; + model.maxValue = Float.MAX_VALUE; + + Gson gson = new Gson(); + + String expected = "{\"minValue\":1.4E-45,\"maxValue\":3.4028235E38}"; + assertEquals(expected, gson.toJson(model)); + } + + @Test(expected = IllegalArgumentException.class) public void toJsonNaN() { + FloatExample model = new FloatExample(); + model.value = Float.NaN; + + Gson gson = new Gson(); + gson.toJson(model); + } + @Test public void fromJsonAllPrimitives() { String json = "{\"byteValue\": 17, \"shortValue\": 3, \"intValue\": 3, " + "\"longValue\": 3, \"floatValue\": 3.5" + ", \"doubleValue\": 3.5"