diff options
Diffstat (limited to 'src/test')
2 files changed, 27 insertions, 6 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 15c294f..cd4fdfc 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 @@ -589,18 +589,33 @@ public class JavaWriterTests { // === Field declarations === @Test - public void fieldDeclaration() throws IOException { - var java = new JavaFieldDeclaration( - JavaVisibility.PRIVATE, - JavaTypeRef.INT, - JavaIdentifier.of("count") - ); + public void fieldDeclarationInstance() throws IOException { + var java = JavaFieldDeclaration.arbitrary() + .withVisibility(JavaVisibility.PRIVATE) + .withKind(JavaMemberKind.INSTANCE) + .withType(JavaTypeRef.INT) + .withName(JavaIdentifier.of("count")) + .build(); var string = write(writer -> writer.writeClassBodyDeclaration(java)); assertThat(string, equalTo("private final int count;")); } + @Test + public void fieldDeclarationInstanceStatic() throws IOException { + var java = JavaFieldDeclaration.arbitrary() + .withVisibility(JavaVisibility.PRIVATE) + .withKind(JavaMemberKind.STATIC) + .withType(JavaTypeRef.INT) + .withName(JavaIdentifier.of("count")) + .build(); + + var string = write(writer -> writer.writeClassBodyDeclaration(java)); + + assertThat(string, equalTo("private static final int count;")); + } + // === Method declarations === @Test diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java index db4bbcb..1eac6ef 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java @@ -34,6 +34,12 @@ public class JavaFieldDeclarationMatcher implements org.zwobble.precisely.Matche return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher(submatchers); } + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher withKind(org.zwobble.precisely.Matcher<? super org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMemberKind> kind) { + var submatchers = new java.util.ArrayList<org.zwobble.precisely.Matcher<? super org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration>>(this.submatchers); + submatchers.add(org.zwobble.precisely.Matchers.has("kind", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration::kind, kind)); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher(submatchers); + } + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher withType(org.zwobble.precisely.Matcher<? super org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef> type) { var submatchers = new java.util.ArrayList<org.zwobble.precisely.Matcher<? super org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration>>(this.submatchers); submatchers.add(org.zwobble.precisely.Matchers.has("type", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration::type, type)); |
