/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.java.symboltable;
import static org.junit.Assert.assertEquals;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
import net.sourceforge.pmd.PMD;
import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration;
import net.sourceforge.pmd.lang.symboltable.NameDeclaration;
import net.sourceforge.pmd.lang.symboltable.NameOccurrence;
public class MethodNameDeclarationTest extends STBBaseTst {
@Test
public void testEquality() {
// Verify proper number of nodes are not equal
parseCode15(SIMILAR);
ASTClassOrInterfaceDeclaration n = acu.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class).get(0);
Map<NameDeclaration, List<NameOccurrence>> m = ((ClassScope) n.getScope()).getDeclarations();
Set<NameDeclaration> methodNameDeclarations = m.keySet();
assertEquals("Wrong number of method name declarations", methodNameDeclarations.size(), 3);
}
private static final String SIMILAR = "public class Foo {" + PMD.EOL + " public void bar() {" + PMD.EOL
+ " bar(x, y);" + PMD.EOL + " }" + PMD.EOL + " private void bar(int x, int y) {}" + PMD.EOL
+ " private void bar(int x, int... y) {}" + PMD.EOL + "}";
}