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; 24 25 import junit.framework.TestCase; 26 import net.sourceforge.pmd.AbstractRule; 27 import net.sourceforge.pmd.RuleContext; 28 import net.sourceforge.pmd.RuleViolation; 29 30 public class AbstractRuleTest extends TestCase { 31 32 private static class MyRule extends AbstractRule { 33 public String getMessage() { 34 return "myrule"; 35 } 36 } 37 38 public AbstractRuleTest(String name) { 39 super(name); 40 } 41 42 public void testCreateRV() { 43 MyRule r = new MyRule(); 44 RuleContext ctx = new RuleContext(); 45 ctx.setSourceCodeFilename("filename"); 46 RuleViolation rv = r.createRuleViolation(ctx, 5); 47 assertEquals("Line number mismatch!", 5, rv.getLine()); 48 assertEquals("Filename mismatch!", "filename", rv.getFilename()); 49 assertEquals("Rule object mismatch!", r, rv.getRule()); 50 assertEquals("Rule description mismatch!", "myrule", rv.getDescription()); 51 } 52 53 public void testCreateRV2() { 54 MyRule r = new MyRule(); 55 RuleContext ctx = new RuleContext(); 56 ctx.setSourceCodeFilename("filename"); 57 RuleViolation rv = r.createRuleViolation(ctx, 5, "specificdescription"); 58 assertEquals("Line number mismatch!", 5, rv.getLine()); 59 assertEquals("Filename mismatch!", "filename", rv.getFilename()); 60 assertEquals("Rule object mismatch!", r, rv.getRule()); 61 assertEquals("Rule description mismatch!", "specificdescription", rv.getDescription()); 62 } 63 64 }