diff options
Diffstat (limited to 'javaparser-testing/src/test/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclarationTest.java')
-rw-r--r-- | javaparser-testing/src/test/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclarationTest.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/javaparser-testing/src/test/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclarationTest.java b/javaparser-testing/src/test/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclarationTest.java new file mode 100644 index 000000000..52c77f13c --- /dev/null +++ b/javaparser-testing/src/test/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclarationTest.java @@ -0,0 +1,60 @@ +package com.github.javaparser.ast.body; + +import com.github.javaparser.JavaParser; +import com.github.javaparser.ast.CompilationUnit; +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class ClassOrInterfaceDeclarationTest { + @Test + public void staticNestedClass() { + CompilationUnit cu = JavaParser.parse("class X{static class Y{}}"); + ClassOrInterfaceDeclaration y = cu.getClassByName("X").get().getMembers().get(0).asClassOrInterfaceDeclaration(); + + assertFalse(y.isInnerClass()); + assertTrue(y.isNestedType()); + assertFalse(y.isLocalClassDeclaration()); + } + + @Test + public void nestedInterface() { + CompilationUnit cu = JavaParser.parse("class X{interface Y{}}"); + ClassOrInterfaceDeclaration y = cu.getClassByName("X").get().getMembers().get(0).asClassOrInterfaceDeclaration(); + + assertFalse(y.isInnerClass()); + assertTrue(y.isNestedType()); + assertFalse(y.isLocalClassDeclaration()); + } + + @Test + public void nonStaticNestedClass() { + CompilationUnit cu = JavaParser.parse("class X{class Y{}}"); + ClassOrInterfaceDeclaration y = cu.getClassByName("X").get().getMembers().get(0).asClassOrInterfaceDeclaration(); + + assertTrue(y.isInnerClass()); + assertTrue(y.isNestedType()); + assertFalse(y.isLocalClassDeclaration()); + } + + @Test + public void topClass() { + CompilationUnit cu = JavaParser.parse("class X{}"); + ClassOrInterfaceDeclaration y = cu.getClassByName("X").get(); + + assertFalse(y.isInnerClass()); + assertFalse(y.isNestedType()); + assertFalse(y.isLocalClassDeclaration()); + } + + @Test + public void localClass() { + MethodDeclaration method= (MethodDeclaration)JavaParser.parseBodyDeclaration("void x(){class X{};}"); + ClassOrInterfaceDeclaration x = method.findFirst(ClassOrInterfaceDeclaration.class).get(); + + assertFalse(x.isInnerClass()); + assertFalse(x.isNestedType()); + assertTrue(x.isLocalClassDeclaration()); + } +} |