1   /***
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3   */
4   package test.net.sourceforge.pmd.rules.design;
5   
6   import net.sourceforge.pmd.PMD;
7   import net.sourceforge.pmd.rules.design.LongClassRule;
8   import test.net.sourceforge.pmd.testframework.RuleTst;
9   
10  public class LongClassRuleTest extends RuleTst {
11  
12      public LongClassRule getIUT() {
13          LongClassRule IUT = new LongClassRule();
14          IUT.addProperty("minimum", "10");
15          return IUT;
16      }
17  
18      public void testShortClass() throws Throwable {
19          runTestFromString(TEST0, 0, getIUT());
20      }
21  
22      public void testLongClass() throws Throwable {
23          runTestFromString(TEST1, 1, getIUT());
24      }
25  
26      public void testLongClassWithLongerTest() throws Throwable {
27          LongClassRule IUT = getIUT();
28          IUT.addProperty("minimum", "2000");
29          runTestFromString(TEST1, 0, IUT);
30      }
31  
32      private static final String TEST0 =
33      "public class LongMethod1 {" + PMD.EOL +
34      "    public static void main(String args[]) {" + PMD.EOL +
35      "	System.err.println(\"This is short.\");" + PMD.EOL +
36      "    }" + PMD.EOL +
37      "}";
38  
39      private static final String TEST1 =
40      "public class LongClass1" + PMD.EOL +
41      "{" + PMD.EOL +
42      "    public void method0() {" + PMD.EOL +
43      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
44      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
45      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
46      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
47      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
48      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
49      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
50      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
51      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
52      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
53      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
54      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
55      "	System.err.println(\"This is a long class.\");" + PMD.EOL +
56      "    }" + PMD.EOL +
57      "}";
58  }
59