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.ASTFieldDeclaration;
7   
8   import java.util.Iterator;
9   import java.util.Set;
10  
11  public class FieldDeclTest extends ParserTst {
12      public String makeAccessJavaCode(String access[]) {
13          String result = "public class Test { ";
14          for (int i = 0; i < access.length; i++) {
15              result += access[i] + " ";
16          }
17          return result + " int j;  }";
18      }
19  
20      public ASTFieldDeclaration getFieldDecl(String access[]) throws Throwable {
21          Set fields = getNodes(ASTFieldDeclaration.class, makeAccessJavaCode(access));
22  
23          assertEquals("Wrong number of fields", 1, fields.size());
24          Iterator i = fields.iterator();
25          return (ASTFieldDeclaration) i.next();
26      }
27  
28      public void testPublic() throws Throwable {
29          String access[] = {"public"};
30          ASTFieldDeclaration afd = getFieldDecl(access);
31          assertTrue("Expecting field to be public.", afd.isPublic());
32      }
33  
34      public void testProtected() throws Throwable {
35          String access[] = {"protected"};
36          ASTFieldDeclaration afd = getFieldDecl(access);
37          assertTrue("Expecting field to be protected.", afd.isProtected());
38      }
39  
40      public void testPrivate() throws Throwable {
41          String access[] = {"private"};
42          ASTFieldDeclaration afd = getFieldDecl(access);
43          assertTrue("Expecting field to be private.", afd.isPrivate());
44      }
45  
46      public void testStatic() throws Throwable {
47          String access[] = {"private", "static"};
48          ASTFieldDeclaration afd = getFieldDecl(access);
49          assertTrue("Expecting field to be static.", afd.isStatic());
50          assertTrue("Expecting field to be private.", afd.isPrivate());
51      }
52  
53      public void testFinal() throws Throwable {
54          String access[] = {"public", "final"};
55          ASTFieldDeclaration afd = getFieldDecl(access);
56          assertTrue("Expecting field to be final.", afd.isFinal());
57          assertTrue("Expecting field to be public.", afd.isPublic());
58      }
59  
60      public void testTransient() throws Throwable {
61          String access[] = {"private", "transient"};
62          ASTFieldDeclaration afd = getFieldDecl(access);
63          assertTrue("Expecting field to be private.", afd.isPrivate());
64          assertTrue("Expecting field to be transient.", afd.isTransient());
65      }
66  
67      public void testVolatile() throws Throwable {
68          String access[] = {"private", "volatile"};
69          ASTFieldDeclaration afd = getFieldDecl(access);
70          assertTrue("Expecting field to be volatile.", afd.isVolatile());
71          assertTrue("Expecting field to be private.", afd.isPrivate());
72      }
73  }