diff --git a/plugins/src/test/java/io/github/rawvoid/jaxb/plugin/NormalizeClassPluginTest.java b/plugins/src/test/java/io/github/rawvoid/jaxb/plugin/NormalizeClassPluginTest.java index ff0546b..69a4a64 100644 --- a/plugins/src/test/java/io/github/rawvoid/jaxb/plugin/NormalizeClassPluginTest.java +++ b/plugins/src/test/java/io/github/rawvoid/jaxb/plugin/NormalizeClassPluginTest.java @@ -20,6 +20,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.lang.reflect.Modifier; import java.util.List; import java.util.stream.Collectors; @@ -42,13 +43,19 @@ void testNormalizeDuplicateClasses() throws Exception { .collect(Collectors.groupingBy(Class::getSimpleName)); assertThat(classBySimpleName).containsKeys("NormalizeRoot", "Group", "AnotherGroup", "Entry"); + assertThat(classBySimpleName).containsKey("BaseType"); + assertThat(classBySimpleName).doesNotContainKey("EmptyChild"); assertThat(classBySimpleName.get("Entry")).hasSize(1); var groupClass = classBySimpleName.get("Group").getFirst(); var anotherGroupClass = classBySimpleName.get("AnotherGroup").getFirst(); var entryClass = classBySimpleName.get("Entry").getFirst(); + var baseTypeClass = classBySimpleName.get("BaseType").getFirst(); + var normalizeRootClass = classBySimpleName.get("NormalizeRoot").getFirst(); assertThat(groupClass.getDeclaredField("entry").getType()).isEqualTo(entryClass); assertThat(anotherGroupClass.getDeclaredField("entry").getType()).isEqualTo(entryClass); + assertThat(normalizeRootClass.getDeclaredField("emptyChild").getType()).isEqualTo(baseTypeClass); + assertThat(Modifier.isAbstract(baseTypeClass.getModifiers())).isFalse(); } } diff --git a/plugins/src/test/resources/schema/normalize-class.xsd b/plugins/src/test/resources/schema/normalize-class.xsd index 1be182a..dd6d41f 100644 --- a/plugins/src/test/resources/schema/normalize-class.xsd +++ b/plugins/src/test/resources/schema/normalize-class.xsd @@ -48,8 +48,17 @@ + + + + + + + + +