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 NonCaseLabelInSwitchStatementRuleTest extends SimpleAggregatorTst {
10      private Rule rule;
11  
12      public void setUp() throws RuleSetNotFoundException {
13          rule = findRule("design", "NonCaseLabelInSwitchStatement");
14      }
15  
16      public void testAll() {
17          runTests(new TestDescriptor[]{
18              new TestDescriptor(TEST1, "label inside switch", 1, rule),
19              new TestDescriptor(TEST2, "ok", 0, rule),
20          });
21      }
22  
23      private static final String TEST1 =
24              "public class Foo {" + PMD.EOL +
25              " void bar(int x) {" + PMD.EOL +
26              "  switch (x) {" + PMD.EOL +
27              "   case 2: int y=8;" + PMD.EOL +
28              "    break;" + PMD.EOL +
29              "   somelabel: " + PMD.EOL +
30              "    break;" + PMD.EOL +
31              "   default: " + PMD.EOL +
32              "    int j=8;" + PMD.EOL +
33              "  }" + PMD.EOL +
34              " }" + PMD.EOL +
35              "}";
36  
37      private static final String TEST2 =
38              "public class Foo {" + PMD.EOL +
39              " void bar(int x) {" + PMD.EOL +
40              "  switch (x) {" + PMD.EOL +
41              "   case 2: int y=8;" + PMD.EOL +
42              "    break;" + PMD.EOL +
43              "   default: " + PMD.EOL +
44              "    int j=8;" + PMD.EOL +
45              "  }" + PMD.EOL +
46              " }" + PMD.EOL +
47              "}";
48  }