1 /***
2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3 */
4 package test.net.sourceforge.pmd.rules;
5
6 import net.sourceforge.pmd.PMD;
7 import net.sourceforge.pmd.rules.UnusedLocalVariableRule;
8 import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
9 import test.net.sourceforge.pmd.testframework.TestDescriptor;
10
11 public class UnusedLocalVariableTest extends SimpleAggregatorTst {
12
13 private UnusedLocalVariableRule rule;
14
15 public void setUp() {
16 rule = new UnusedLocalVariableRule();
17 rule.setMessage("Avoid this stuff -> ''{0}''");
18 }
19
20 public void testAll() {
21 runTests(new TestDescriptor[] {
22 new TestDescriptor(TEST1, "unused local with assignment", 1, rule),
23 new TestDescriptor(TEST2, "unused local w/o assignment", 1, rule),
24 new TestDescriptor(TEST3, "unused local in constructor", 1, rule),
25 new TestDescriptor(TEST4, "local used on rhs", 0, rule),
26 new TestDescriptor(TEST5, "unused local in static initializer", 1, rule),
27 new TestDescriptor(TEST6, "unused field", 0, rule),
28 new TestDescriptor(TEST7, "loop indexes are not unused locals", 0, rule),
29 new TestDescriptor(TEST8, "", 0, rule),
30 new TestDescriptor(TEST9, "", 0, rule),
31 new TestDescriptor(TEST10, "", 2, rule),
32 new TestDescriptor(TEST11, "", 0, rule),
33 new TestDescriptor(TEST12, "", 0, rule),
34 new TestDescriptor(TEST13, "", 2, rule),
35 new TestDescriptor(TEST14, "", 0, rule)
36 });
37 }
38
39 private static final String TEST1 =
40 "public class Foo {" + PMD.EOL +
41 " public foo() {" + PMD.EOL +
42 " String fr = new String();" + PMD.EOL +
43 " }" + PMD.EOL +
44 "}";
45
46 private static final String TEST2 =
47 "public class Foo {" + PMD.EOL +
48 " public void method() {" + PMD.EOL +
49 " int x;" + PMD.EOL +
50 " }" + PMD.EOL +
51 "}" + PMD.EOL +
52 "";
53
54 private static final String TEST3 =
55 "import java.util.*;" + PMD.EOL +
56 "public class Foo {" + PMD.EOL +
57 " public Foo() {" + PMD.EOL +
58 " List a = new ArrayList();" + PMD.EOL +
59 " }" + PMD.EOL +
60 "}" + PMD.EOL +
61 "";
62
63 private static final String TEST4 =
64 "import java.util.*;" + PMD.EOL +
65 "public class Foo {" + PMD.EOL +
66 " public Foo() {" + PMD.EOL +
67 " List a = new ArrayList();" + PMD.EOL +
68 " if (true == true) {" + PMD.EOL +
69 " a.size();" + PMD.EOL +
70 " }" + PMD.EOL +
71 " }" + PMD.EOL +
72 "}" + PMD.EOL +
73 "";
74
75 private static final String TEST5 =
76 "import java.util.*;" + PMD.EOL +
77 "public class Foo {" + PMD.EOL +
78 "static {" + PMD.EOL +
79 " String x;" + PMD.EOL +
80 "}" + PMD.EOL +
81 "}" + PMD.EOL +
82 "";
83
84 private static final String TEST6 =
85 "public class Foo {" + PMD.EOL +
86 " public int x;" + PMD.EOL +
87 "}";
88
89 private static final String TEST7 =
90 "public class Foo {" + PMD.EOL +
91 " public void foo() {" + PMD.EOL +
92 " for (int i=0;i<10; i++);" + PMD.EOL +
93 " for (int i=0;i<10; i++);" + PMD.EOL +
94 " }" + PMD.EOL +
95 "}";
96
97
98 private static final String TEST8 =
99 "public class Foo {" + PMD.EOL +
100 " public void foo() {" + PMD.EOL +
101 " final String x = \"baf\";" + PMD.EOL +
102 " new Runnable() {" + PMD.EOL +
103 " public void run() {" + PMD.EOL +
104 " System.out.println(x);" + PMD.EOL +
105 " }" + PMD.EOL +
106 " }; " + PMD.EOL +
107 " }" + PMD.EOL +
108 "}";
109
110 private static final String TEST9 =
111 "public interface Foo {" + PMD.EOL +
112 " public void foo();" + PMD.EOL +
113 " public String bar();" + PMD.EOL +
114 "}";
115
116 private static final String TEST10 =
117 "public class Foo {" + PMD.EOL +
118 " public void foo() {" + PMD.EOL +
119 " String x = \"hi\";" + PMD.EOL +
120 " class Bar {" + PMD.EOL +
121 " public void buz() {" + PMD.EOL +
122 " String x = \"howdy\";" + PMD.EOL +
123 " }" + PMD.EOL +
124 " }" + PMD.EOL +
125 " }" + PMD.EOL +
126 "}";
127
128 private static final String TEST11 =
129 "public class Foo {" + PMD.EOL +
130 " public void foo() {" + PMD.EOL +
131 " for (int x = 0; ; ) { // USED" + PMD.EOL +
132 " x++;" + PMD.EOL +
133 " }" + PMD.EOL +
134 " }" + PMD.EOL +
135 "}";
136
137 private static final String TEST12 =
138 "public class Foo {" + PMD.EOL +
139 " public void foo() {" + PMD.EOL +
140 " final String x = \"hi\";" + PMD.EOL +
141 " new Runnable() {" + PMD.EOL +
142 " public void run() {" + PMD.EOL +
143 " x.toString();" + PMD.EOL +
144 " }" + PMD.EOL +
145 " };" + PMD.EOL +
146 " }" + PMD.EOL +
147 "}";
148
149 private static final String TEST13 =
150 "public class Foo {" + PMD.EOL +
151 " public void foo() {" + PMD.EOL +
152 " int x,y=0;" + PMD.EOL +
153 " }" + PMD.EOL +
154 "}";
155
156 private static final String TEST14 =
157 "public class Foo {" + PMD.EOL +
158 " public void bar() {" + PMD.EOL +
159 " try {" + PMD.EOL +
160 " //int x =2;" + PMD.EOL +
161 " } catch (RuntimeException e) {" + PMD.EOL +
162 " } catch (Exception e) {" + PMD.EOL +
163 " }" + PMD.EOL +
164 " }" + PMD.EOL +
165 "}";
166
167 }
This page was automatically generated by Maven