1
2
3
4 package net.sourceforge.pmd.lang.java.ast;
5
6 import static org.junit.Assert.assertEquals;
7 import static org.junit.Assert.assertTrue;
8
9 import java.util.Set;
10
11 import net.sourceforge.pmd.lang.java.ParserTst;
12
13 import org.junit.Test;
14
15 public class FieldDeclTest extends ParserTst {
16
17 public String makeAccessJavaCode(String[] access) {
18 String result = "public class Test { ";
19 for (int i = 0; i < access.length; i++) {
20 result += access[i] + " ";
21 }
22 return result + " int j; }";
23 }
24
25 public ASTFieldDeclaration getFieldDecl(String[] access) throws Throwable {
26 Set<ASTFieldDeclaration> fields = getNodes(ASTFieldDeclaration.class, makeAccessJavaCode(access));
27
28 assertEquals("Wrong number of fields", 1, fields.size());
29 return fields.iterator().next();
30 }
31
32 @Test
33 public void testPublic() throws Throwable {
34 String[] access = {"public"};
35 ASTFieldDeclaration afd = getFieldDecl(access);
36 assertTrue("Expecting field to be public.", afd.isPublic());
37 }
38
39 @Test
40 public void testProtected() throws Throwable {
41 String[] access = {"protected"};
42 ASTFieldDeclaration afd = getFieldDecl(access);
43 assertTrue("Expecting field to be protected.", afd.isProtected());
44 }
45
46 @Test
47 public void testPrivate() throws Throwable {
48 String[] access = {"private"};
49 ASTFieldDeclaration afd = getFieldDecl(access);
50 assertTrue("Expecting field to be private.", afd.isPrivate());
51 }
52
53 @Test
54 public void testStatic() throws Throwable {
55 String[] access = {"private", "static"};
56 ASTFieldDeclaration afd = getFieldDecl(access);
57 assertTrue("Expecting field to be static.", afd.isStatic());
58 assertTrue("Expecting field to be private.", afd.isPrivate());
59 }
60
61 @Test
62 public void testFinal() throws Throwable {
63 String[] access = {"public", "final"};
64 ASTFieldDeclaration afd = getFieldDecl(access);
65 assertTrue("Expecting field to be final.", afd.isFinal());
66 assertTrue("Expecting field to be public.", afd.isPublic());
67 }
68
69 @Test
70 public void testTransient() throws Throwable {
71 String[] access = {"private", "transient"};
72 ASTFieldDeclaration afd = getFieldDecl(access);
73 assertTrue("Expecting field to be private.", afd.isPrivate());
74 assertTrue("Expecting field to be transient.", afd.isTransient());
75 }
76
77 @Test
78 public void testVolatile() throws Throwable {
79 String[] access = {"private", "volatile"};
80 ASTFieldDeclaration afd = getFieldDecl(access);
81 assertTrue("Expecting field to be volatile.", afd.isVolatile());
82 assertTrue("Expecting field to be private.", afd.isPrivate());
83 }
84
85 public static junit.framework.Test suite() {
86 return new junit.framework.JUnit4TestAdapter(FieldDeclTest.class);
87 }
88 }