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