    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.Rule;
    8   import net.sourceforge.pmd.RuleSetNotFoundException;
    9   import net.sourceforge.pmd.rules.design.LongClassRule;
    10  import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;
    11  import test.net.sourceforge.pmd.testframework.TestDescriptor;
    12
    13  public class LongClassRuleTest extends SimpleAggregatorTst {
    14
    15      private Rule rule;
    16
    17      public void setUp() throws RuleSetNotFoundException {
    18          rule = findRule("codesize", "ExcessiveClassLength");
    19          rule.addProperty("minimum", "10");
    20      }
    21
    22      public void testAll() {
    23          runTests(new TestDescriptor[]{
    24              new TestDescriptor(TEST0, "short", 0, rule),
    25              new TestDescriptor(TEST1, "long", 1, rule),
    26          });
    27      }
    28
    29      public void testLongClassWithLongerTest() throws Throwable {
    30          LongClassRule IUT = new LongClassRule();
    31          IUT.addProperty("minimum", "2000");
    32          runTestFromString(TEST1, 0, IUT);
    33      }
    34
    35      private static final String TEST0 =
    36              "public class Foo {" + PMD.EOL +
    37              "    public static void main(String args[]) {" + PMD.EOL +
    38              "	  int x;" + PMD.EOL +
    39              "    }" + PMD.EOL +
    40              "}";
    41
    42      private static final String TEST1 =
    43              "public class Foo {" + PMD.EOL +
    44              "    public void bar() {" + PMD.EOL +
    45              "	  bar();" + PMD.EOL +
    46              "	  bar();" + PMD.EOL +
    47              "	  bar();" + PMD.EOL +
    48              "	  bar();" + PMD.EOL +
    49              "	  bar();" + PMD.EOL +
    50              "	  bar();" + PMD.EOL +
    51              "	  bar();" + PMD.EOL +
    52              "	  bar();" + PMD.EOL +
    53              "	  bar();" + PMD.EOL +
    54              "	  bar();" + PMD.EOL +
    55              "    }" + PMD.EOL +
    56              "}";
    57  }
    58