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 net.sourceforge.pmd.ast.AccessNode;
8 import test.net.sourceforge.pmd.testframework.ParserTst;
9
10 import java.util.Set;
11
12 public class AccessNodeTest extends ParserTst {
13
14 public void testModifiersOnClassDecl() throws Throwable {
15 Set ops = getNodes(ASTClassOrInterfaceDeclaration.class, TEST1);
16 assertTrue(((ASTClassOrInterfaceDeclaration) (ops.iterator().next())).isPublic());
17 }
18
19 private static final String TEST1 =
20 "public class Foo {}";
21
22
23 public void testStatic() {
24 AccessNode node = new AccessNode(1);
25 assertFalse("Node should default to not static.", node.isStatic());
26 node.setStatic();
27 assertTrue("Node set to static, not static.", node.isStatic());
28 }
29
30 public void testPublic() {
31 AccessNode node = new AccessNode(1);
32 assertFalse("Node should default to not public.", node.isPublic());
33 node.setPublic();
34 assertTrue("Node set to public, not public.", node.isPublic());
35 }
36
37 public void testProtected() {
38 AccessNode node = new AccessNode(1);
39 assertFalse("Node should default to not protected.", node.isProtected());
40 node.setProtected();
41 assertTrue("Node set to protected, not protected.", node.isProtected());
42 }
43
44 public void testPrivate() {
45 AccessNode node = new AccessNode(1);
46 assertFalse("Node should default to not private.", node.isPrivate());
47 node.setPrivate();
48 assertTrue("Node set to private, not private.", node.isPrivate());
49 }
50
51 public void testFinal() {
52 AccessNode node = new AccessNode(1);
53 assertFalse("Node should default to not final.", node.isFinal());
54 node.setFinal();
55 assertTrue("Node set to final, not final.", node.isFinal());
56 }
57
58 public void testSynchronized() {
59 AccessNode node = new AccessNode(1);
60 assertFalse("Node should default to not synchronized.", node.isSynchronized());
61 node.setSynchronized();
62 assertTrue("Node set to synchronized, not synchronized.", node.isSynchronized());
63 }
64
65 public void testVolatile() {
66 AccessNode node = new AccessNode(1);
67 assertFalse("Node should default to not volatile.", node.isVolatile());
68 node.setVolatile();
69 assertTrue("Node set to volatile, not volatile.", node.isVolatile());
70 }
71
72 public void testTransient() {
73 AccessNode node = new AccessNode(1);
74 assertFalse("Node should default to not transient.", node.isTransient());
75 node.setTransient();
76 assertTrue("Node set to transient, not transient.", node.isTransient());
77 }
78
79 public void testNative() {
80 AccessNode node = new AccessNode(1);
81 assertFalse("Node should default to not native.", node.isNative());
82 node.setNative();
83 assertTrue("Node set to native, not native.", node.isNative());
84 }
85
86 public void testAbstract() {
87 AccessNode node = new AccessNode(1);
88 assertFalse("Node should default to not abstract.", node.isAbstract());
89 node.setAbstract();
90 assertTrue("Node set to abstract, not abstract.", node.isAbstract());
91 }
92
93 public void testStrict() {
94 AccessNode node = new AccessNode(1);
95 assertFalse("Node should default to not strict.", node.isStrictfp());
96 node.setStrictfp();
97 assertTrue("Node set to strict, not strict.", node.isStrictfp());
98 }
99
100 public void testPackagePrivate() {
101 AccessNode node = new AccessNode(1);
102 assertTrue("Node should default to package private.", node.isPackagePrivate());
103 node.setPrivate();
104 assertFalse("Node set to private, still package private.", node.isPackagePrivate());
105 node = new AccessNode(1);
106 node.setPublic();
107 assertFalse("Node set to public, still package private.", node.isPackagePrivate());
108 node = new AccessNode(1);
109 node.setProtected();
110 assertFalse("Node set to protected, still package private.", node.isPackagePrivate());
111 }
112 }