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 }