summaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-06-20 10:26:37 +0100
committerMichael Williamson <mike@zwobble.org>2026-06-20 10:26:37 +0100
commit60389e043ecfcbbb8592ccee639ec282657c1a72 (patch)
tree6cb322263a6c1062bd1af02440ddf348f6f33fb0 /src/test/java
parentb638bb3c6cee3b7d802b357ccc4ffaa87350eb9b (diff)
Add tests around namespaceToJavaPackageParts()
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaGeneratorTests.java48
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")));
+ }
+}