This is an automated email from the ASF dual-hosted git repository.

struberg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/johnzon.git


The following commit(s) were added to refs/heads/master by this push:
     new e4b893b1 adding a test for primitive value defaults
e4b893b1 is described below

commit e4b893b100ea1eb6309a3c384d80d0b2346297de
Author: Mark Struberg <strub...@apache.org>
AuthorDate: Wed Oct 11 13:10:55 2023 +0200

    adding a test for primitive value defaults
---
 .../org/apache/johnzon/jsonb/JsonbTypesTest.java   | 69 +++++++++++++++++++++-
 1 file changed, 66 insertions(+), 3 deletions(-)

diff --git 
a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java 
b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java
index 04d43705..68be3de3 100644
--- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java
+++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbTypesTest.java
@@ -136,33 +136,50 @@ public class JsonbTypesTest {
     }
 
     @Test
-    public void testOptionalViaJsonbCreatorFullJson() {
+    public void testOptionalViaJsonbCreatorFullJson() throws Exception {
         final Jsonb jsonb = newJsonb();
         final String json = 
"{\"intOptional\":4711,\"stringOptional\":\"testVal\"}";
         final OptionalTypes optionalTypes = jsonb.fromJson(json, 
OptionalTypes.class);
         assertNotNull(optionalTypes);
         assertEquals("testVal", optionalTypes.getOptionalString());
         assertEquals(4711, optionalTypes.getOptionalInt());
+        jsonb.close();
     }
 
     @Test
-    public void testOptionalViaJsonbCreatorEmptyJson() {
+    public void testOptionalViaJsonbCreatorEmptyJson() throws Exception {
         final Jsonb jsonb = newJsonb();
         final String json = "{ }";
         final OptionalTypes optionalTypes = jsonb.fromJson(json, 
OptionalTypes.class);
         assertNotNull(optionalTypes);
         assertEquals(OptionalTypes.EMPTY, optionalTypes.getOptionalString());
         assertEquals(-1, optionalTypes.getOptionalInt());
+        jsonb.close();
     }
 
     @Test
-    public void testOptionalViaJsonbCreatorPartialJson() {
+    public void testOptionalViaJsonbCreatorPartialJson() throws Exception {
         final Jsonb jsonb = newJsonb();
         final String json = "{\"intOptional\":4711}";
         final OptionalTypes optionalTypes = jsonb.fromJson(json, 
OptionalTypes.class);
         assertNotNull(optionalTypes);
         assertEquals(OptionalTypes.EMPTY, optionalTypes.getOptionalString());
         assertEquals(4711, optionalTypes.getOptionalInt());
+        jsonb.close();
+    }
+
+    @Test
+    public void testPrimitiveEmptyJson() throws Exception {
+        final Jsonb jsonb = newJsonb();
+        final String json = "{ }";
+        final PrimitiveTypes primitiveTypes = jsonb.fromJson(json, 
PrimitiveTypes.class);
+        assertNotNull(primitiveTypes);
+        assertEquals(0, primitiveTypes.getByteVal());
+        assertEquals(0, primitiveTypes.getShortVal());
+        assertEquals(0, primitiveTypes.getIntVal());
+        assertEquals(0L, primitiveTypes.getLongVal());
+
+        jsonb.close();
     }
 
     private void readAndWriteWithDateFormat(DateTimeFormatter 
dateTimeFormatter, String dateFormat) throws Exception {
@@ -580,4 +597,50 @@ public class JsonbTypesTest {
             return optionalInt;
         }
     }
+
+    public static class PrimitiveTypes {
+        private final byte byteVal;
+        private final short shortVal;
+        private final char charVal;
+        private final int intVal;
+        private final long longVal;
+
+        public PrimitiveTypes(byte byteVal, short shortVal, char charVal, int 
intVal, long longVal) {
+            this.byteVal = byteVal;
+            this.shortVal = shortVal;
+            this.charVal = charVal;
+            this.intVal = intVal;
+            this.longVal = longVal;
+
+        }
+
+        @JsonbCreator
+        public static PrimitiveTypes init(@JsonbProperty("byteVal")  byte 
byteVal,
+                                          @JsonbProperty("shortVal") short 
shortVal,
+                                          @JsonbProperty("charVal")  char 
charVal,
+                                          @JsonbProperty("intVal")   int 
intVal,
+                                          @JsonbProperty("longVal")  long 
longVal) {
+            return new PrimitiveTypes(byteVal, shortVal, charVal, intVal, 
longVal);
+        }
+
+        public byte getByteVal() {
+            return byteVal;
+        }
+
+        public short getShortVal() {
+            return shortVal;
+        }
+
+        public char getCharVal() {
+            return charVal;
+        }
+
+        public int getIntVal() {
+            return intVal;
+        }
+
+        public long getLongVal() {
+            return longVal;
+        }
+    }
 }

Reply via email to