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 net.sourceforge.pmd.RuleSetNotFoundException;
9   import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
10  import test.net.sourceforge.pmd.testframework.TestDescriptor;
11  
12  public class MissingBreakInSwitchTest extends SimpleAggregatorTst {
13      private Rule rule;
14  
15      public void setUp() throws RuleSetNotFoundException {
16          rule = findRule("design", "MissingBreakInSwitch");
17      }
18      
19      public void testAll() {
20         runTests(new TestDescriptor[] {
21                 new TestDescriptor(TEST1, "TEST1", 1, rule),
22                 new TestDescriptor(TEST2, "TEST2", 1, rule),
23  	       new TestDescriptor(TEST3, "TEST3", 0, rule),
24         });
25      }
26      
27      private static final String TEST1 =
28          "public class Foo {" + PMD.EOL +
29  	"	void main() {" + PMD.EOL +
30  	"		switch(i) {" + PMD.EOL +
31  	"		case 1:" + PMD.EOL +
32  	"		default:" + PMD.EOL +
33  	"		}" + PMD.EOL +
34  	"	}" + PMD.EOL +
35          "}";
36  
37      private static final String TEST2 =
38          "public class Foo {" + PMD.EOL +
39  	"	void main() {" + PMD.EOL +
40  	"		switch(i) {" + PMD.EOL +
41  	"		}" + PMD.EOL +
42  	"	}" + PMD.EOL +
43          "}";
44  	
45      private static final String TEST3 =
46          "public class Foo {" + PMD.EOL +
47  	"	void main() {" + PMD.EOL +
48  	"		switch(i) {" + PMD.EOL +
49  	"		case 1:" + PMD.EOL +
50  	"		case 2:" + PMD.EOL +
51  	"			break;" + PMD.EOL +
52  	"		default:" + PMD.EOL +
53  	"		}" + PMD.EOL +
54  	"	}" + PMD.EOL +
55          "}";
56  
57  }
58