diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-06-20 10:26:37 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-06-20 10:26:37 +0100 |
| commit | 60389e043ecfcbbb8592ccee639ec282657c1a72 (patch) | |
| tree | 6cb322263a6c1062bd1af02440ddf348f6f33fb0 /src/test/java/org | |
| parent | b638bb3c6cee3b7d802b357ccc4ffaa87350eb9b (diff) | |
Add tests around namespaceToJavaPackageParts()
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaGeneratorTests.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaGeneratorTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaGeneratorTests.java new file mode 100644 index 0000000..9cbd5d9 --- /dev/null +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaGeneratorTests.java @@ -0,0 +1,48 @@ +package org.zwobble.hobgoblin.compiler.output.lang.java; + +import org.junit.jupiter.api.Test; +import org.zwobble.hobgoblin.compiler.output.generators.java.JavaGenerator; +import org.zwobble.hobgoblin.compiler.output.generators.java.JavaGeneratorConfig; +import org.zwobble.hobgoblin.compiler.output.generators.java.JavaNamespaceConfig; +import org.zwobble.hobgoblin.compiler.types.NamespaceName; + +import java.util.List; +import java.util.Map; + +import static org.zwobble.precisely.AssertThat.assertThat; +import static org.zwobble.precisely.Matchers.equalTo; + +public class JavaGeneratorTests { + @Test + public void defaultJavaPackageIsUsedForNamespacesWithoutExplicitMapping() { + var config = new JavaGeneratorConfig( + List.of("com", "example"), + Map.of(), + Map.of() + ); + var generator = new JavaGenerator(config); + + var result = generator.namespaceToJavaPackageParts(NamespaceName.of("a", "b")); + + assertThat(result, equalTo(List.of("com", "example", "a", "b"))); + } + + @Test + public void explicitJavaPackageIsUsedForNamespaceWhenAvailable() { + var config = new JavaGeneratorConfig( + List.of("com", "example"), + Map.ofEntries( + Map.entry( + NamespaceName.of("a", "b"), + new JavaNamespaceConfig(List.of("com", "other")) + ) + ), + Map.of() + ); + var generator = new JavaGenerator(config); + + var result = generator.namespaceToJavaPackageParts(NamespaceName.of("a", "b")); + + assertThat(result, equalTo(List.of("com", "other"))); + } +} |
