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.ASTMethodDeclaration; 7 8 import java.util.Iterator; 9 import java.util.Set; 10 11 public class MethodDeclTest extends ParserTst { 12 public void testPublic() throws Throwable { 13 String access[] = {"public"}; 14 ASTMethodDeclaration amd = getMethodDecl(access); 15 assertTrue("Expecting method to be public.", amd.isPublic()); 16 } 17 18 public void testPrivate() throws Throwable { 19 String access[] = {"private"}; 20 ASTMethodDeclaration amd = getMethodDecl(access); 21 assertTrue("Expecting method to be private.", amd.isPrivate()); 22 } 23 24 public void testProtected() throws Throwable { 25 String access[] = {"protected"}; 26 ASTMethodDeclaration amd = getMethodDecl(access); 27 assertTrue("Expecting method to be protected.", amd.isProtected()); 28 } 29 30 public void testFinal() throws Throwable { 31 String access[] = {"public", "final"}; 32 ASTMethodDeclaration amd = getMethodDecl(access); 33 assertTrue("Expecting method to be final.", amd.isFinal()); 34 assertTrue("Expecting method to be public.", amd.isPublic()); 35 } 36 37 public void testSynchronized() throws Throwable { 38 String access[] = {"public", "synchronized"}; 39 ASTMethodDeclaration amd = getMethodDecl(access); 40 assertTrue("Expecting method to be synchronized.", amd.isSynchronized()); 41 assertTrue("Expecting method to be public.", amd.isPublic()); 42 } 43 44 public void testAbstract() throws Throwable { 45 String access[] = {"public", "abstract"}; 46 ASTMethodDeclaration amd = getMethodDecl(access); 47 assertTrue("Expecting method to be abstract.", amd.isAbstract()); 48 assertTrue("Expecting method to be public.", amd.isPublic()); 49 } 50 51 public void testNative() throws Throwable { 52 String access[] = {"private", "native"}; 53 ASTMethodDeclaration amd = getMethodDecl(access); 54 assertTrue("Expecting method to be native.", amd.isNative()); 55 assertTrue("Expecting method to be private.", amd.isPrivate()); 56 } 57 58 public void testStrict() throws Throwable { 59 String access[] = {"public", "strictfp"}; 60 ASTMethodDeclaration amd = getMethodDecl(access); 61 assertTrue("Expecting method to be strict.", amd.isStrict()); 62 assertTrue("Expecting method to be public.", amd.isPublic()); 63 } 64 65 public ASTMethodDeclaration getMethodDecl(String access[]) throws Throwable { 66 String javaCode = "public class Test { "; 67 for (int i = 0; i < access.length; i++) { 68 javaCode += access[i] + " "; 69 } 70 71 javaCode += " void stuff() { } }"; 72 73 Set methods = getNodes(ASTMethodDeclaration.class, javaCode); 74 75 assertEquals("Wrong number of methods", 1, methods.size()); 76 77 Iterator i = methods.iterator(); 78 return (ASTMethodDeclaration) i.next(); 79 } 80 }