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