KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > net > sourceforge > pmd > symboltable > VariableUsageFinderFunctionTest


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 JavaDoc;
13 import java.util.HashMap JavaDoc;
14 import java.util.List JavaDoc;
15 import java.util.Map JavaDoc;
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 JavaDoc nameOccurrences = new ArrayList JavaDoc();
24         nameOccurrences.add(new NameOccurrence(new SimpleJavaNode(2), "x"));
25
26         Map JavaDoc declarations = new HashMap JavaDoc();
27         declarations.put(nameDeclaration, nameOccurrences);
28
29         List JavaDoc vars = new ArrayList JavaDoc();
30         vars.add(nameDeclaration);
31
32         VariableUsageFinderFunction f = new VariableUsageFinderFunction(declarations);
33         Applier.apply(f, vars.iterator());
34         Map JavaDoc p = f.getUsed();
35         assertEquals(1, p.size());
36     }
37 }
38
Popular Tags