1   package test.net.sourceforge.pmd.rules;
2   
3   import net.sourceforge.pmd.PMD;
4   import net.sourceforge.pmd.Rule;
5   import net.sourceforge.pmd.RuleSetNotFoundException;
6   import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
7   import test.net.sourceforge.pmd.testframework.TestDescriptor;
8   
9   public class SuspiciousConstantFieldNameTest extends SimpleAggregatorTst {
10      private Rule rule;
11  
12      public void setUp() throws RuleSetNotFoundException {
13          rule = findRule("naming", "SuspiciousConstantFieldName");
14      }
15  
16      public void testAll() {
17          runTests(new TestDescriptor[]{
18              new TestDescriptor(TEST1, "ok", 0, rule),
19              new TestDescriptor(TEST2, "PI not final", 1, rule),
20              new TestDescriptor(TEST3, "PI and E not final", 2, rule),
21              new TestDescriptor(TEST4, "ok", 0, rule),
22              new TestDescriptor(TEST5, "ignore interfaces", 0, rule),
23          });
24      }
25  
26      private static final String TEST1 =
27              "public class Foo {" + PMD.EOL +
28              " public int e;" + PMD.EOL +
29              " public final int PI;" + PMD.EOL +
30              "}";
31  
32      private static final String TEST2 =
33              "public class Foo {" + PMD.EOL +
34              " public int e;" + PMD.EOL +
35              " public int PI;" + PMD.EOL +
36              "}";
37  
38      private static final String TEST3 =
39              "public class Foo {" + PMD.EOL +
40              " public int E;" + PMD.EOL +
41              " public int PI;" + PMD.EOL +
42              "}";
43  
44      private static final String TEST4 =
45              "public class Foo {" + PMD.EOL +
46              " public final int e;" + PMD.EOL +
47              " public final int PI;" + PMD.EOL +
48              "}";
49  
50      private static final String TEST5 =
51              "public interface Foo {" + PMD.EOL +
52              " public int E;" + PMD.EOL +
53              "}";
54  
55  }