aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-testing/src/test/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclarationTest.java
diff options
context:
space:
mode:
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.java60
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());
+ }
+}