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
27 public class RuleViolationTest extends TestCase {
28
29 public void testConstructor1() {
30 /*
31 Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
32 RuleContext ctx = new RuleContext();
33 ctx.setSourceCodeFilename("filename");
34 SimpleNode s = new SimpleJavaNode(1);
35 s.testingOnly__setBeginLine(2);
36 RuleViolation r = new RuleViolation(rule, ctx, s);
37 assertEquals("object mismatch", rule, r.getRule());
38 assertEquals("line number is wrong", 2, r.getBeginLine());
39 assertEquals("filename is wrong", "filename", r.getFilename());
40 */
41 }
42
43 /*
44 public void testConstructor2() {
45 Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
46 RuleContext ctx = new RuleContext();
47 ctx.setSourceCodeFilename("filename");
48 SimpleNode s = new SimpleJavaNode(1);
49 s.testingOnly__setBeginLine(2);
50 RuleViolation r = new RuleViolation(rule, ctx, s, "description");
51 assertEquals("object mismatch", rule, r.getRule());
52 assertEquals("line number is wrong", 2, r.getBeginLine());
53 assertEquals("filename is wrong", "filename", r.getFilename());
54 assertEquals("description is wrong", "description", r.getDescription());
55 }
56
57 public void testComparatorWithDifferentFilenames() {
58 Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
59 RuleViolation.RuleViolationComparator comp = new RuleViolation.RuleViolationComparator();
60 RuleContext ctx = new RuleContext();
61 ctx.setSourceCodeFilename("filename1");
62 SimpleNode s = new SimpleJavaNode(1);
63 s.testingOnly__setBeginLine(10);
64 RuleViolation r1 = new RuleViolation(rule, ctx, s, "description");
65 ctx.setSourceCodeFilename("filename2");
66 SimpleNode s1 = new SimpleJavaNode(1);
67 s1.testingOnly__setBeginLine(10);
68 RuleViolation r2 = new RuleViolation(rule, ctx, s1, "description");
69 assertEquals(-1, comp.compare(r1, r2));
70 assertEquals(1, comp.compare(r2, r1));
71 }
72
73 public void testComparatorWithSameFileDifferentLines() {
74 Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
75 RuleViolation.RuleViolationComparator comp = new RuleViolation.RuleViolationComparator();
76 RuleContext ctx = new RuleContext();
77 ctx.setSourceCodeFilename("filename");
78 SimpleNode s = new SimpleJavaNode(1);
79 s.testingOnly__setBeginLine(10);
80 SimpleNode s1 = new SimpleJavaNode(1);
81 s1.testingOnly__setBeginLine(20);
82 RuleViolation r1 = new RuleViolation(rule, ctx, s, "description");
83 RuleViolation r2 = new RuleViolation(rule, ctx, s1, "description");
84 assertTrue(comp.compare(r1, r2) < 0);
85 assertTrue(comp.compare(r2, r1) > 0);
86 }
87
88 public void testComparatorWithSameFileSameLines() {
89 Rule rule = new MockRule("name", "desc", "msg", "rulesetname");
90 RuleViolation.RuleViolationComparator comp = new RuleViolation.RuleViolationComparator();
91 RuleContext ctx = new RuleContext();
92 ctx.setSourceCodeFilename("filename");
93 SimpleNode s = new SimpleJavaNode(1);
94 s.testingOnly__setBeginLine(10);
95 SimpleNode s1 = new SimpleJavaNode(1);
96 s1.testingOnly__setBeginLine(10);
97 RuleViolation r1 = new RuleViolation(rule, ctx, s, "description");
98 RuleViolation r2 = new RuleViolation(rule, ctx, s1, "description");
99 assertEquals(1, comp.compare(r1, r2));
100 assertEquals(1, comp.compare(r2, r1));
101 }
102 */
103 }