1 package test.net.sourceforge.pmd.symboltable; 2 3 import static org.junit.Assert.assertEquals; 4 import net.sourceforge.pmd.ast.ASTVariableDeclaratorId; 5 import net.sourceforge.pmd.ast.SimpleJavaNode; 6 import net.sourceforge.pmd.symboltable.NameOccurrence; 7 import net.sourceforge.pmd.symboltable.VariableNameDeclaration; 8 import net.sourceforge.pmd.symboltable.VariableUsageFinderFunction; 9 import net.sourceforge.pmd.util.Applier; 10 11 import org.junit.Test; 12 13 import java.util.ArrayList; 14 import java.util.HashMap; 15 import java.util.List; 16 import java.util.Map; 17 public class VariableUsageFinderFunctionTest { 18 19 @Test 20 public void testLookingForUsed() { 21 ASTVariableDeclaratorId variableDeclarationIdNode = new ASTVariableDeclaratorId(1); 22 variableDeclarationIdNode.setImage("x"); 23 VariableNameDeclaration nameDeclaration = new VariableNameDeclaration(variableDeclarationIdNode); 24 List<NameOccurrence> nameOccurrences = new ArrayList<NameOccurrence>(); 25 nameOccurrences.add(new NameOccurrence(new SimpleJavaNode(2), "x")); 26 27 Map<VariableNameDeclaration, List<NameOccurrence>> declarations = new HashMap<VariableNameDeclaration, List<NameOccurrence>>(); 28 declarations.put(nameDeclaration, nameOccurrences); 29 30 List<VariableNameDeclaration> vars = new ArrayList<VariableNameDeclaration>(); 31 vars.add(nameDeclaration); 32 33 VariableUsageFinderFunction f = new VariableUsageFinderFunction(declarations); 34 Applier.apply(f, vars.iterator()); 35 Map p = f.getUsed(); 36 assertEquals(1, p.size()); 37 } 38 39 public static junit.framework.Test suite() { 40 return new junit.framework.JUnit4TestAdapter(VariableUsageFinderFunctionTest.class); 41 } 42 }