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