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