1   package test.net.sourceforge.pmd.rules.strictexception;
2   
3   import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
4   import test.net.sourceforge.pmd.testframework.TestDescriptor;
5   import net.sourceforge.pmd.Rule;
6   import net.sourceforge.pmd.RuleSetNotFoundException;
7   import net.sourceforge.pmd.PMD;
8   
9   public class AvoidThrowingCertainExceptionTypesRuleTest extends SimpleAggregatorTst {
10  
11      private Rule rule;
12  
13      public void setUp() throws RuleSetNotFoundException {
14          rule = findRule("rulesets/strictexception.xml", "AvoidThrowingCertainExceptionTypesRule");
15      }
16  
17      public void testAll() {
18         runTests(new TestDescriptor[] {
19             new TestDescriptor(TEST1, "throwing various types", 5, rule),
20         });
21      }
22  
23      private static final String TEST1 =
24      "public class Foo {" + PMD.EOL +
25      " void bar() {" + PMD.EOL +
26      "  throw new Throwable();" + PMD.EOL +
27      "  throw new Exception();" + PMD.EOL +
28      "  throw new Error();" + PMD.EOL +
29      "  throw new RuntimeException();" + PMD.EOL +
30      "  throw new NullPointerException();" + PMD.EOL +
31      " }" + PMD.EOL +
32      "}";
33  
34  }