/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.lang.java.ast; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Set; import org.junit.Test; import net.sourceforge.pmd.lang.java.ParserTst; public class FieldDeclTest extends ParserTst { public String makeAccessJavaCode(String[] access) { String result = "public class Test { "; for (int i = 0; i < access.length; i++) { result += access[i] + " "; } return result + " int j; }"; } public ASTFieldDeclaration getFieldDecl(String[] access) { Set<ASTFieldDeclaration> fields = getNodes(ASTFieldDeclaration.class, makeAccessJavaCode(access)); assertEquals("Wrong number of fields", 1, fields.size()); return fields.iterator().next(); } @Test public void testPublic() { String[] access = { "public" }; ASTFieldDeclaration afd = getFieldDecl(access); assertTrue("Expecting field to be public.", afd.isPublic()); } @Test public void testProtected() { String[] access = { "protected" }; ASTFieldDeclaration afd = getFieldDecl(access); assertTrue("Expecting field to be protected.", afd.isProtected()); } @Test public void testPrivate() { String[] access = { "private" }; ASTFieldDeclaration afd = getFieldDecl(access); assertTrue("Expecting field to be private.", afd.isPrivate()); } @Test public void testStatic() { String[] access = { "private", "static" }; ASTFieldDeclaration afd = getFieldDecl(access); assertTrue("Expecting field to be static.", afd.isStatic()); assertTrue("Expecting field to be private.", afd.isPrivate()); } @Test public void testFinal() { String[] access = { "public", "final" }; ASTFieldDeclaration afd = getFieldDecl(access); assertTrue("Expecting field to be final.", afd.isFinal()); assertTrue("Expecting field to be public.", afd.isPublic()); } @Test public void testTransient() { String[] access = { "private", "transient" }; ASTFieldDeclaration afd = getFieldDecl(access); assertTrue("Expecting field to be private.", afd.isPrivate()); assertTrue("Expecting field to be transient.", afd.isTransient()); } @Test public void testVolatile() { String[] access = { "private", "volatile" }; ASTFieldDeclaration afd = getFieldDecl(access); assertTrue("Expecting field to be volatile.", afd.isVolatile()); assertTrue("Expecting field to be private.", afd.isPrivate()); } }