Search in sources :

Example 16 with DummyNode

use of net.sourceforge.pmd.lang.ast.DummyNode in project pmd by pmd.

the class RuleViolationComparatorTest method createJavaRuleViolation.

private RuleViolation createJavaRuleViolation(Rule rule, String fileName, int beginLine, String description, int beginColumn, int endLine, int endColumn) {
    RuleContext ruleContext = new RuleContext();
    ruleContext.setSourceCodeFilename(fileName);
    DummyNode simpleNode = new DummyNode(1);
    simpleNode.testingOnlySetBeginLine(beginLine);
    simpleNode.testingOnlySetBeginColumn(beginColumn);
    simpleNode.testingOnlySetEndLine(endLine);
    simpleNode.testingOnlySetEndColumn(endColumn);
    RuleViolation ruleViolation = new ParametricRuleViolation<Node>(rule, ruleContext, simpleNode, description);
    return ruleViolation;
}
Also used : ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation) DummyNode(net.sourceforge.pmd.lang.ast.DummyNode) ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation)

Example 17 with DummyNode

use of net.sourceforge.pmd.lang.ast.DummyNode in project pmd by pmd.

the class AttributeAxisIteratorTest method testRemove.

@Test(expected = UnsupportedOperationException.class)
public void testRemove() {
    DummyNode n = new DummyNode(0);
    n.testingOnlySetBeginColumn(1);
    n.testingOnlySetBeginLine(1);
    AttributeAxisIterator iter = new AttributeAxisIterator(n);
    iter.remove();
}
Also used : DummyNode(net.sourceforge.pmd.lang.ast.DummyNode) AttributeAxisIterator(net.sourceforge.pmd.lang.ast.xpath.AttributeAxisIterator) Test(org.junit.Test)

Example 18 with DummyNode

use of net.sourceforge.pmd.lang.ast.DummyNode in project pmd by pmd.

the class RuleViolationTest method testComparatorWithDifferentFilenames.

@Test
public void testComparatorWithDifferentFilenames() {
    Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
    RuleViolationComparator comp = RuleViolationComparator.INSTANCE;
    RuleContext ctx = new RuleContext();
    ctx.setSourceCodeFilename("filename1");
    DummyNode s = new DummyNode(1);
    s.testingOnlySetBeginLine(10);
    s.testingOnlySetBeginColumn(1);
    RuleViolation r1 = new ParametricRuleViolation<Node>(rule, ctx, s, "description");
    ctx.setSourceCodeFilename("filename2");
    DummyNode s1 = new DummyNode(1);
    s1.testingOnlySetBeginLine(10);
    s1.testingOnlySetBeginColumn(1);
    RuleViolation r2 = new ParametricRuleViolation<Node>(rule, ctx, s1, "description");
    assertEquals(-1, comp.compare(r1, r2));
    assertEquals(1, comp.compare(r2, r1));
}
Also used : ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation) DummyNode(net.sourceforge.pmd.lang.ast.DummyNode) MockRule(net.sourceforge.pmd.lang.rule.MockRule) ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation) MockRule(net.sourceforge.pmd.lang.rule.MockRule) Test(org.junit.Test)

Example 19 with DummyNode

use of net.sourceforge.pmd.lang.ast.DummyNode in project pmd by pmd.

the class RuleViolationTest method testConstructor1.

@Test
public void testConstructor1() {
    Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
    RuleContext ctx = new RuleContext();
    ctx.setSourceCodeFilename("filename");
    DummyNode s = new DummyNode(1);
    s.testingOnlySetBeginLine(2);
    s.testingOnlySetBeginColumn(1);
    RuleViolation r = new ParametricRuleViolation<Node>(rule, ctx, s, rule.getMessage());
    assertEquals("object mismatch", rule, r.getRule());
    assertEquals("line number is wrong", 2, r.getBeginLine());
    assertEquals("filename is wrong", "filename", r.getFilename());
}
Also used : ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation) DummyNode(net.sourceforge.pmd.lang.ast.DummyNode) MockRule(net.sourceforge.pmd.lang.rule.MockRule) ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation) MockRule(net.sourceforge.pmd.lang.rule.MockRule) Test(org.junit.Test)

Example 20 with DummyNode

use of net.sourceforge.pmd.lang.ast.DummyNode in project pmd by pmd.

the class RuleViolationTest method testComparatorWithSameFileDifferentLines.

@Test
public void testComparatorWithSameFileDifferentLines() {
    Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
    RuleViolationComparator comp = RuleViolationComparator.INSTANCE;
    RuleContext ctx = new RuleContext();
    ctx.setSourceCodeFilename("filename");
    DummyNode s = new DummyNode(1);
    s.testingOnlySetBeginLine(10);
    s.testingOnlySetBeginColumn(1);
    DummyNode s1 = new DummyNode(1);
    s1.testingOnlySetBeginLine(20);
    s1.testingOnlySetBeginColumn(1);
    RuleViolation r1 = new ParametricRuleViolation<Node>(rule, ctx, s, "description");
    RuleViolation r2 = new ParametricRuleViolation<Node>(rule, ctx, s1, "description");
    assertTrue(comp.compare(r1, r2) < 0);
    assertTrue(comp.compare(r2, r1) > 0);
}
Also used : ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation) DummyNode(net.sourceforge.pmd.lang.ast.DummyNode) MockRule(net.sourceforge.pmd.lang.rule.MockRule) ParametricRuleViolation(net.sourceforge.pmd.lang.rule.ParametricRuleViolation) MockRule(net.sourceforge.pmd.lang.rule.MockRule) Test(org.junit.Test)

Aggregations

DummyNode (net.sourceforge.pmd.lang.ast.DummyNode)25 Test (org.junit.Test)17 ParametricRuleViolation (net.sourceforge.pmd.lang.rule.ParametricRuleViolation)13 RuleContext (net.sourceforge.pmd.RuleContext)5 MockRule (net.sourceforge.pmd.lang.rule.MockRule)5 Report (net.sourceforge.pmd.Report)4 Node (net.sourceforge.pmd.lang.ast.Node)4 FooRule (net.sourceforge.pmd.FooRule)3 ReportTest (net.sourceforge.pmd.ReportTest)3 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Method (java.lang.reflect.Method)1 List (java.util.List)1 RuleViolation (net.sourceforge.pmd.RuleViolation)1 RuleWithProperties (net.sourceforge.pmd.RuleWithProperties)1 RootNode (net.sourceforge.pmd.lang.ast.RootNode)1 Attribute (net.sourceforge.pmd.lang.ast.xpath.Attribute)1 AttributeAxisIterator (net.sourceforge.pmd.lang.ast.xpath.AttributeAxisIterator)1 XPathRule (net.sourceforge.pmd.lang.rule.XPathRule)1 StatisticalRule (net.sourceforge.pmd.lang.rule.stat.StatisticalRule)1