1 package test.net.sourceforge.pmd.ast; 2 3 import junit.framework.TestCase; 4 import net.sourceforge.pmd.ast.ASTCompilationUnit; 5 import net.sourceforge.pmd.ast.ASTEqualityExpression; 6 import net.sourceforge.pmd.ast.ASTInstanceOfExpression; 7 import net.sourceforge.pmd.ast.ASTRelationalExpression; 8 import net.sourceforge.pmd.ast.DiscardableNodeCleaner; 9 10 public class DiscardableNodeCleanerTest extends TestCase { 11 12 public void testRemoveDiscardNodes() { 13 ASTCompilationUnit cu = new ASTCompilationUnit(1); 14 ASTEqualityExpression ee = new ASTEqualityExpression(2); 15 ee.jjtSetParent(cu); 16 cu.jjtAddChild(ee, 0); 17 18 ASTInstanceOfExpression io1 = new ASTInstanceOfExpression(3); 19 io1.setDiscardable(); 20 io1.jjtSetParent(ee); 21 ASTRelationalExpression re = new ASTRelationalExpression(4); 22 re.jjtSetParent(ee); 23 ee.jjtAddChild(io1, 0); 24 io1.jjtAddChild(re, 0); 25 assertEquals(cu.findChildrenOfType(ASTInstanceOfExpression.class).size(), 1); 26 DiscardableNodeCleaner c = new DiscardableNodeCleaner(); 27 c.clean(cu); 28 assertEquals(cu.findChildrenOfType(ASTInstanceOfExpression.class).size(), 0); 29 } 30 }