1 package test.net.sourceforge.pmd.rules;
2
3 import net.sourceforge.pmd.PMD;
4 import net.sourceforge.pmd.rules.AccessorClassGenerationRule;
5
6 public class AccessorClassGenerationRuleTest extends RuleTst {
7
8 public void testInnerClassHasPrivateConstructor() throws Throwable {
9 runTestFromString(TEST1, 1, new AccessorClassGenerationRule());
10 }
11
12 public void testInnerClassHasPublicConstructor() throws Throwable {
13 runTestFromString(TEST2, 0, new AccessorClassGenerationRule());
14 }
15
16 public void testOuterClassHasPrivateConstructor() throws Throwable {
17 runTestFromString(TEST3, 1, new AccessorClassGenerationRule());
18 }
19
20 public void testFinalInnerClass() throws Throwable {
21 runTestFromString(TEST4, 0, new AccessorClassGenerationRule());
22 }
23
24 private static final String TEST1 =
25 "public class Foo1 {" + PMD.EOL +
26 " public class InnerClass {" + PMD.EOL +
27 " private InnerClass(){" + PMD.EOL +
28 " }" + PMD.EOL +
29 " }" + PMD.EOL +
30 " void method(){" + PMD.EOL +
31 " new InnerClass();//Causes generation of accessor" + PMD.EOL +
32 " }" + PMD.EOL +
33 "}";
34
35 private static final String TEST2 =
36 "public class Foo2 {" + PMD.EOL +
37 " public class InnerClass {" + PMD.EOL +
38 " public InnerClass(){" + PMD.EOL +
39 " }" + PMD.EOL +
40 " }" + PMD.EOL +
41 " void method(){" + PMD.EOL +
42 " new InnerClass(); //OK, due to public constructor" + PMD.EOL +
43 " }" + PMD.EOL +
44 "}";
45
46 private static final String TEST3 =
47 "public class Foo3 {" + PMD.EOL +
48 " public class InnerClass {" + PMD.EOL +
49 " void method(){" + PMD.EOL +
50 " new Foo3();//Causes generation of accessor" + PMD.EOL +
51 " }" + PMD.EOL +
52 " }" + PMD.EOL +
53 " private Foo3(){" + PMD.EOL +
54 " }" + PMD.EOL +
55 "}";
56
57 private static final String TEST4 =
58 "public class Foo {" + PMD.EOL +
59 " void method() {" + PMD.EOL +
60 " final class Inner {}; " + PMD.EOL +
61 " Inner i = new Inner();" + PMD.EOL +
62 " }" + PMD.EOL +
63 "}";
64 }
This page was automatically generated by Maven