summaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-05-03 11:42:44 +0100
committerMichael Williamson <mike@zwobble.org>2026-05-03 11:42:44 +0100
commit8b71116229a45965ffae361b6f765ff67c913119 (patch)
tree7fab2f74128a39735947409992ddbaffa28f57f8 /src/test/java/org
parentdda4d7559276300877655c1e8c783ae8ef0cc793 (diff)
Add methods to Java classes
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java42
1 files changed, 35 insertions, 7 deletions
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
index 13c2c00..da0f26f 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
@@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test;
import org.zwobble.hobgoblin.compiler.output.CodeWriter;
import org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration;
import org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration;
+import org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration;
import org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef;
import java.io.IOException;
@@ -17,15 +18,44 @@ public class JavaWriterTests {
@Test
public void emptyClassDeclaration() throws IOException {
var java = new JavaClassDeclaration(
- "Rectangle"
+ "Rectangle",
+ List.of()
);
var string = write(writer -> writer.writeTypeDeclaration(java));
assertThat(string, equalTo("""
public class Rectangle {
- }
- """
+ }"""
+ ));
+ }
+
+ @Test
+ public void classDeclarationWithMethods() throws IOException {
+ var java = new JavaClassDeclaration(
+ "Rectangle",
+ List.of(
+ new JavaMethodDeclaration(
+ "a",
+ JavaTypeRef.VOID
+ ),
+ new JavaMethodDeclaration(
+ "b",
+ JavaTypeRef.VOID
+ )
+ )
+ );
+
+ var string = write(writer -> writer.writeTypeDeclaration(java));
+
+ assertThat(string, equalTo("""
+ public class Rectangle {
+ public void a() {
+ }
+
+ public void b() {
+ }
+ }"""
));
}
@@ -40,8 +70,7 @@ public class JavaWriterTests {
assertThat(string, equalTo("""
public sealed interface Shape {
- }
- """
+ }"""
));
}
@@ -59,8 +88,7 @@ public class JavaWriterTests {
assertThat(string, equalTo("""
public sealed interface Shape permits abc.def.One, abc.def.Two {
- }
- """
+ }"""
));
}