KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > ast > ClassDeclTest


1 /**
2  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3  */

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