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.Rule;
8 import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
9 import test.net.sourceforge.pmd.testframework.TestDescriptor;
10
11 public class CallSuperInConstructorTest extends SimpleAggregatorTst {
12 private Rule rule = null;
13
14 public void setUp() {
15 rule = findRule("controversial", "CallSuperInConstructor");
16 }
17
18 public void testAll() {
19 runTests(new TestDescriptor[] {
20 new TestDescriptor(TEST1, "TEST1", 1, rule),
21 new TestDescriptor(TEST2, "TEST2", 0, rule),
22 new TestDescriptor(TEST3, "TEST3", 0, rule),
23 });
24 }
25
26 private static final String TEST1 =
27 "public class Foo {" + PMD.EOL +
28 " public Foo() {" + PMD.EOL +
29 " }" + PMD.EOL +
30 "}";
31
32 private static final String TEST2 =
33 "public class Foo {" + PMD.EOL +
34 " public Foo() {" + PMD.EOL +
35 " super();" + PMD.EOL +
36 "}" + PMD.EOL +
37 "}";
38
39 private static final String TEST3 =
40 "public class Foo {" + PMD.EOL +
41 " public Foo(Object o) {" + PMD.EOL +
42 " this();" + PMD.EOL +
43 "}" + PMD.EOL +
44 " public Foo() {" + PMD.EOL +
45 " super();" + PMD.EOL +
46 "}" + PMD.EOL +
47 "}";
48
49 }