1 package test.net.sourceforge.pmd.ast;
2
3 import net.sourceforge.pmd.ast.ASTClassDeclaration;
4
5 import java.util.Iterator;
6 import java.util.Set;
7
8 public class ClassDeclTest extends ParserTst {
9
10 public void testPublic() throws Throwable {
11 String access[] = {"public"};
12 ASTClassDeclaration acd = getClassDecl(access);
13 verifyFlags(acd, true, false, false, false);
14 }
15
16 public void testAbstract() throws Throwable {
17 String access[] = {"abstract"};
18 ASTClassDeclaration acd = getClassDecl(access);
19 verifyFlags(acd, false, true, false, false);
20 }
21
22 public void testFinal() throws Throwable {
23 String access[] = {"final"};
24 ASTClassDeclaration acd = getClassDecl(access);
25 verifyFlags(acd, false, false, true, false);
26 }
27
28 public void testStrict() throws Throwable {
29 String access[] = {"strictfp"};
30 ASTClassDeclaration acd = getClassDecl(access);
31 verifyFlags(acd, false, false, false, true);
32 }
33
34 public void testPublicFinal() throws Throwable {
35 String access[] = {"public", "final"};
36 ASTClassDeclaration acd = getClassDecl(access);
37 verifyFlags(acd, true, false, true, false);
38 }
39
40 public void verifyFlags(ASTClassDeclaration acd, boolean bPublic, boolean bAbstract, boolean bFinal, boolean bStrict) {
41 assertEquals("Public: ", bPublic, acd.isPublic());
42 assertEquals("Abstract: ", bAbstract, acd.isAbstract());
43 assertEquals("Final: ", bFinal, acd.isFinal());
44 assertEquals("Strict: ", bStrict, acd.isStrict());
45 }
46
47 public ASTClassDeclaration getClassDecl(String access[]) throws Throwable {
48 String javaCode = "";
49
50 for (int i = 0; i < access.length; i++) {
51 javaCode += access[i] + " ";
52 }
53
54 javaCode += " class Test { } ";
55
56 Set classes = getNodes(ASTClassDeclaration.class, javaCode);
57
58 assertEquals("Wrong number of classes", 1, classes.size());
59 Iterator i = classes.iterator();
60 return (ASTClassDeclaration) i.next();
61 }
62 }
This page was automatically generated by Maven