1 package test.net.sourceforge.pmd.rules;
2
3 import net.sourceforge.pmd.PMD;
4 import net.sourceforge.pmd.Rule;
5 import net.sourceforge.pmd.rules.XPathRule;
6
7 public class JumbledIncrementerRuleTest extends SimpleAggregatorTst {
8
9 private Rule rule;
10
11 public void setUp() {
12 rule = new XPathRule();
13 rule.addProperty(
14 "xpath",
15 "//ForStatement[ForUpdate//Name/@Image = ancestor::ForStatement/ForInit//VariableDeclaratorId/@Image]");
16 }
17
18 public void testAll() {
19 runTests(new TestDescriptor[] {
20 new TestDescriptor(TEST1, "", 1, rule),
21 new TestDescriptor(TEST2, "", 0, rule),
22 new TestDescriptor(TEST3, "", 0, rule),
23 });
24 }
25
26 private static final String TEST1 =
27 "public class JumbledIncrementerRule1 {" + PMD.EOL +
28 " public void foo() { " + PMD.EOL +
29 " for (int i = 0; i < 10; i++) { " + PMD.EOL +
30 " for (int k = 0; k < 20; i++) { " + PMD.EOL +
31 " System.out.println(\"Hello\"); " + PMD.EOL +
32 " } " + PMD.EOL +
33 " } " + PMD.EOL +
34 " } " + PMD.EOL +
35 "}";
36
37 private static final String TEST2 =
38 "public class JumbledIncrementerRule2 {" + PMD.EOL +
39 " public void foo() { " + PMD.EOL +
40 " for (int i = 0; i < 10; i++) { " + PMD.EOL +
41 " for (int k = 0; k < 20; k++) { " + PMD.EOL +
42 " System.out.println(\"Hello\"); " + PMD.EOL +
43 " } " + PMD.EOL +
44 " } " + PMD.EOL +
45 " } " + PMD.EOL +
46 "}";
47
48 private static final String TEST3 =
49 "public class JumbledIncrementerRule3 {" + PMD.EOL +
50 " public void foo() { " + PMD.EOL +
51 " for (int i=0; i<5; ) {" + PMD.EOL +
52 " i++;" + PMD.EOL +
53 " }" + PMD.EOL +
54 " for (int i=0;;) {" + PMD.EOL +
55 " if (i<5) {" + PMD.EOL +
56 " break;" + PMD.EOL +
57 " }" + PMD.EOL +
58 " i++;" + PMD.EOL +
59 " }" + PMD.EOL +
60 " for (;;) {" + PMD.EOL +
61 " int x =5;" + PMD.EOL +
62 " }" + PMD.EOL +
63 " for (int i=0; i<5;i++) ;" + PMD.EOL +
64 " for (int i=0; i<5;i++) " + PMD.EOL +
65 " foo();" + PMD.EOL +
66 " } " + PMD.EOL +
67 "}";
68
69 }
This page was automatically generated by Maven