From 93ba63c9ecfc446dffecbf806ecb5fedcfcaadbb Mon Sep 17 00:00:00 2001 From: Rawvoid Date: Wed, 4 Feb 2026 14:33:57 +0800 Subject: [PATCH] test(normalize-class): add tests and schema for abstract type and empty child normalization --- .../rawvoid/jaxb/plugin/NormalizeClassPluginTest.java | 7 +++++++ plugins/src/test/resources/schema/normalize-class.xsd | 9 +++++++++ 2 files changed, 16 insertions(+) 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 @@ + + + + + + + + +