From 089162e91c9b820cad6bbd87a8eb1601a19d785e Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 12 Dec 2018 06:12:12 +0100 Subject: [PATCH] BAEL-2412 Add new code examples when deserializing real numbers to discrete number types. --- .../gson/primitives/models/LongExample.java | 9 ++++++++ .../baeldung/gson/primitives/UnitTest.java | 23 ++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gson/src/main/java/org/baeldung/gson/primitives/models/LongExample.java diff --git a/gson/src/main/java/org/baeldung/gson/primitives/models/LongExample.java b/gson/src/main/java/org/baeldung/gson/primitives/models/LongExample.java new file mode 100644 index 0000000000..e709650789 --- /dev/null +++ b/gson/src/main/java/org/baeldung/gson/primitives/models/LongExample.java @@ -0,0 +1,9 @@ +package org.baeldung.gson.primitives.models; + +public class LongExample { + public long value = 1; + + public String toString() { + return "{byte: " + value + "}"; + } +} 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 4ee1e67c8e..335b844214 100644 --- a/gson/src/test/java/org/baeldung/gson/primitives/UnitTest.java +++ b/gson/src/test/java/org/baeldung/gson/primitives/UnitTest.java @@ -75,7 +75,7 @@ public class UnitTest { assertEquals(44, model.value); } - @Test public void fromJsonNonCompatibleNumberTypes() { + @Test public void fromJsonRealToByte() { Gson gson = new Gson(); String json = "{\"value\": 2.3}"; try { @@ -89,6 +89,27 @@ public class UnitTest { fail(); } + @Test public void fromJsonRealToLong() { + Gson gson = new Gson(); + String json = "{\"value\": 2.3}"; + try { + gson.fromJson(json, LongExample.class); + } catch (Exception ex) { + assertTrue(ex instanceof JsonSyntaxException); + assertTrue(ex.getCause() instanceof NumberFormatException); + return; + } + + fail(); + } + + @Test public void fromJsonRealToLongEndingIn0() { + Gson gson = new Gson(); + String json = "{\"value\": 2.0}"; + LongExample model = gson.fromJson(json, LongExample.class); + assertEquals(2, model.value); + } + @Test public void fromJsonUnicodeChar() { Gson gson = new Gson(); String json = "{\"value\": \"\\u00AE\"}";