1 package test.net.sourceforge.pmd.rules.design;
2
3 import net.sourceforge.pmd.PMD;
4 import net.sourceforge.pmd.rules.design.NullAssignmentRule;
5 import test.net.sourceforge.pmd.rules.RuleTst;
6
7 public class NullAssignmentRuleTest extends RuleTst {
8
9 private static final String TEST1 =
10 "public class NullAssignment1 {" + PMD.EOL +
11 " public Object foo() {" + PMD.EOL +
12 " Object x = null; // OK" + PMD.EOL +
13 " return x;" + PMD.EOL +
14 " } " + PMD.EOL +
15 "}";
16
17 private static final String TEST2 =
18 "public class NullAssignment2 {" + PMD.EOL +
19 " public void foo() {" + PMD.EOL +
20 " Object x;" + PMD.EOL +
21 " x = new Object();" + PMD.EOL +
22 " for (int y = 0; y < 10; y++) {" + PMD.EOL +
23 " System.err.println(y); " + PMD.EOL +
24 " }" + PMD.EOL +
25 " x = null; // This is bad" + PMD.EOL +
26 " }" + PMD.EOL +
27 "}";
28
29 private static final String TEST3 =
30 "public class NullAssignment3 {" + PMD.EOL +
31 " public void foo() {" + PMD.EOL +
32 " Object x;" + PMD.EOL +
33 " if (x == null) { // This is OK" + PMD.EOL +
34 " return;" + PMD.EOL +
35 " }" + PMD.EOL +
36 " }" + PMD.EOL +
37 "}";
38
39 private static final String TEST4 =
40 "public class NullAssignment4 {" + PMD.EOL +
41 " public void foo() {" + PMD.EOL +
42 " String x = null;" + PMD.EOL +
43 " x = new String(null);" + PMD.EOL +
44 " }" + PMD.EOL +
45 "}";
46
47 public void testInitAssignment() throws Throwable {
48 runTestFromString(TEST1, 0, new NullAssignmentRule());
49 }
50
51 public void testBadAssignment() throws Throwable {
52 runTestFromString(TEST2, 1, new NullAssignmentRule());
53 }
54
55 public void testCheckTest() throws Throwable {
56 runTestFromString(TEST3, 0, new NullAssignmentRule());
57 }
58
59 public void testNullParamOnRHS() throws Throwable {
60 runTestFromString(TEST4, 0, new NullAssignmentRule());
61 }
62 }
This page was automatically generated by Maven