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