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 <[email protected]>
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;
+ }
+ }
}