test: custom enum type deserializer fails at root level
diff --git a/src/test/java/org/eclipse/yasson/serializers/TypeDeserializerOnContainersTest.java b/src/test/java/org/eclipse/yasson/serializers/TypeDeserializerOnContainersTest.java index 929ec7c..bfee90b 100644 --- a/src/test/java/org/eclipse/yasson/serializers/TypeDeserializerOnContainersTest.java +++ b/src/test/java/org/eclipse/yasson/serializers/TypeDeserializerOnContainersTest.java
@@ -284,4 +284,16 @@ Assertions.assertTrue(result.optional.isPresent(), "Expected value to be present, but the optional was empty."); Assertions.assertEquals(TestEnum.VALUE1, result.optional.get()); } + + @Test + public void testTypeDeserializerOnEnumAtRootLevel() { + final TestEnum result = jsonb.fromJson("2", TestEnum.class); + Assertions.assertEquals(TestEnum.VALUE2, result); + } + + @Test + public void testTypeDeserializerOnInterfaceAtRootLevel() { + final TestInterface result = jsonb.fromJson("{\"value\":\"value1\"}", TestInterface.class); + Assertions.assertEquals("DESERIALIZED:value1", result.getValue()); + } }
diff --git a/src/test/java/org/eclipse/yasson/serializers/TypeSerializerOnContainersTest.java b/src/test/java/org/eclipse/yasson/serializers/TypeSerializerOnContainersTest.java index 00b8285..37bd329 100644 --- a/src/test/java/org/eclipse/yasson/serializers/TypeSerializerOnContainersTest.java +++ b/src/test/java/org/eclipse/yasson/serializers/TypeSerializerOnContainersTest.java
@@ -272,6 +272,18 @@ Assertions.assertEquals(1, json.getInt("optional")); } + @Test + public void testTypeSerializerOnEnumAtRootLevel() { + final String json = jsonb.toJson(TestEnum.VALUE1); + Assertions.assertEquals("1", json); + } + + @Test + public void testTypeSerializerOnInterfaceAtRootLevel() { + final String json = jsonb.toJson(new TestImpl("value1"), TestInterface.class); + Assertions.assertEquals("\"SERIALIZED:value1\"", json); + } + private JsonObject toJsonObject(final Object object) throws JsonbException { final String value = jsonb.toJson(object); try (