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