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 }