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.ConstructorCallsOverridableMethodRule;
8 import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
9 import test.net.sourceforge.pmd.testframework.TestDescriptor;
10
11 public class ConstructorCallsOverridableMethodRuleTest extends SimpleAggregatorTst {
12
13 public void testAll() {
14 runTests(new TestDescriptor[] {
15 new TestDescriptor(TEST1, "", 1, new ConstructorCallsOverridableMethodRule()),
16 new TestDescriptor(TEST2, "", 1, new ConstructorCallsOverridableMethodRule()),
17 new TestDescriptor(TEST3, "", 1, new ConstructorCallsOverridableMethodRule()),
18 new TestDescriptor(TEST4, "", 0, new ConstructorCallsOverridableMethodRule()),
19 new TestDescriptor(TEST5, "", 1, new ConstructorCallsOverridableMethodRule()),
20 new TestDescriptor(TEST6, "calling method on literal bug", 0, new ConstructorCallsOverridableMethodRule()),
21 new TestDescriptor(TEST7, "method in anonymous inner class is ok", 0, new ConstructorCallsOverridableMethodRule()),
22 });
23 }
24
25 private static final String TEST1 =
26 "public class Foo {" + PMD.EOL +
27 " public Foo() {" + PMD.EOL +
28 " bar();" + PMD.EOL +
29 " }" + PMD.EOL +
30 " public void bar() {}" + PMD.EOL +
31 "}";
32
33 private static final String TEST2 =
34 "public class Foo {" + PMD.EOL +
35 " public Foo() {" + PMD.EOL +
36 " bar();" + PMD.EOL +
37 " }" + PMD.EOL +
38 " protected void bar() {}" + PMD.EOL +
39 "}";
40
41 private static final String TEST3 =
42 "public class Foo {" + PMD.EOL +
43 " public Foo() {" + PMD.EOL +
44 " bar();" + PMD.EOL +
45 " }" + PMD.EOL +
46 " void bar() {}" + PMD.EOL +
47 "}";
48
49 private static final String TEST4 =
50 "public class Foo {" + PMD.EOL +
51 " public Foo() {" + PMD.EOL +
52 " bar();" + PMD.EOL +
53 " }" + PMD.EOL +
54 " private void bar() {}" + PMD.EOL +
55 "}";
56
57 private static final String TEST5 =
58 "public class Foo {" + PMD.EOL +
59 " public Foo() {" + PMD.EOL +
60 " this(\"Bar\");" + PMD.EOL +
61 " }" + PMD.EOL +
62 " private Foo(String bar) {" + PMD.EOL +
63 " bar();" + PMD.EOL +
64 " }" + PMD.EOL +
65 " public void bar() {}" + PMD.EOL +
66 "}";
67
68 private static final String TEST6 =
69 "public class Foo {" + PMD.EOL +
70 " public Foo(String s) {" + PMD.EOL +
71 " \"foo\".equals(s);" + PMD.EOL +
72 " }" + PMD.EOL +
73 " public void equals(String bar) {}" + PMD.EOL +
74 "}";
75
76 private static final String TEST7 =
77 "public class Foo {" + PMD.EOL +
78 " public Foo(String s) {" + PMD.EOL +
79 " addActionListener(new ActionListener() {" + PMD.EOL +
80 " public void actionPerformed(ActionEvent e) {bar();}" + PMD.EOL +
81 " });" + PMD.EOL +
82 " }" + PMD.EOL +
83 " public void bar() {}" + PMD.EOL +
84 "}";
85 }
This page was automatically generated by Maven