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.rules.UnusedFormalParameterRule;
8   import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
9   import test.net.sourceforge.pmd.testframework.TestDescriptor;
10  
11  public class UnusedFormalParameterRuleTest extends SimpleAggregatorTst {
12  
13      private UnusedFormalParameterRule rule;
14  
15      public void setUp() {
16          rule = new UnusedFormalParameterRule();
17          rule.setMessage("Avoid this stuff -> ''{0}''");
18      }
19  
20      public void testAll() {
21         runTests(new TestDescriptor[] {
22             new TestDescriptor(TEST1, "one parameter", 1, rule),
23             new TestDescriptor(TEST2, "fully qualified parameter", 0, rule),
24             new TestDescriptor(TEST3, "one parameter with a method call", 0, rule),
25             new TestDescriptor(TEST4, "interface", 0, rule)
26         });
27      }
28  
29      private static final String TEST1 =
30      "class UnusedFormalParam1 {" + PMD.EOL +
31      "    private void testMethod(String param1) {" + PMD.EOL +
32      "        //System.out.println(param1);" + PMD.EOL +
33      "    }" + PMD.EOL +
34      "}";
35  
36      private static final String TEST2 =
37      "class UnusedFormalParam2 {" + PMD.EOL +
38      "    private void foo (String s) " + PMD.EOL +
39      "    {String str = s.toString();}" + PMD.EOL +
40      "}";
41  
42      private static final String TEST3 =
43      "class UnusedFormalParam3 {" + PMD.EOL +
44      "    private void t1(String s) {" + PMD.EOL +
45      "        s.toString();" + PMD.EOL +
46      "    }" + PMD.EOL +
47      "}";
48  
49      private static final String TEST4 =
50      "public interface Foo {" + PMD.EOL +
51      " void foo(String bar);" + PMD.EOL +
52      "}";
53  }