    1   /***
    2    * <copyright>
    3    *  Copyright 1997-2002 InfoEther, LLC
    4    *  under sponsorship of the Defense Advanced Research Projects Agency
    5    (DARPA).
    6    *
    7    *  This program is free software; you can redistribute it and/or modify
    8    *  it under the terms of the Cougaar Open Source License as published
    9    by
    10   *  DARPA on the Cougaar Open Source Website (www.cougaar.org).
    11   *
    12   *  THE COUGAAR SOFTWARE AND ANY DERIVATIVE SUPPLIED BY LICENSOR IS
    13   *  PROVIDED 'AS IS' WITHOUT WARRANTIES OF ANY KIND, WHETHER EXPRESS OR
    14   *  IMPLIED, INCLUDING (BUT NOT LIMITED TO) ALL IMPLIED WARRANTIES OF
    15   *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND WITHOUT
    16   *  ANY WARRANTIES AS TO NON-INFRINGEMENT.  IN NO EVENT SHALL COPYRIGHT
    17   *  HOLDER BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL
    18   *  DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE OF DATA OR PROFITS,
    19   *  TORTIOUS CONDUCT, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    20   *  PERFORMANCE OF THE COUGAAR SOFTWARE.
    21   * </copyright>
    22   */
    23  package test.net.sourceforge.pmd.rules;
    24
    25  import net.sourceforge.pmd.PMD;
    26  import net.sourceforge.pmd.Rule;
    27  import net.sourceforge.pmd.rules.ExcessivePublicCount;
    28  import test.net.sourceforge.pmd.testframework.RuleTst;
    29
    30  public class ExcessivePublicCountTest extends RuleTst {
    31
    32      private Rule rule = new ExcessivePublicCount();
    33
    34      public void testSimpleOK() throws Throwable {
    35          rule.addProperty("minimum", "50");
    36          runTestFromString(TEST1, 0, rule);
    37      }
    38
    39      public void testSimpleBad() throws Throwable {
    40          rule.addProperty("minimum", "2");
    41          runTestFromString(TEST2, 1, rule);
    42      }
    43
    44      private static final String TEST1 =
    45              "public class Foo {" + PMD.EOL +
    46              " public int foo;" + PMD.EOL +
    47              "}";
    48
    49      private static final String TEST2 =
    50              "public class Foo {" + PMD.EOL +
    51              " public int foo;" + PMD.EOL +
    52              " public int bif;" + PMD.EOL +
    53              " public int baz;" + PMD.EOL +
    54              " public int bof;" + PMD.EOL +
    55              "}";
    56
    57  }