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  }