View Javadoc
1 /*** 2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html 3 */ 4 package test.net.sourceforge.pmd.cpd; 5 6 import junit.framework.TestCase; 7 import net.sourceforge.pmd.cpd.CPDListener; 8 import net.sourceforge.pmd.cpd.CPDNullListener; 9 import net.sourceforge.pmd.cpd.Mark; 10 import net.sourceforge.pmd.cpd.MarkComparator; 11 import net.sourceforge.pmd.cpd.TokenEntry; 12 13 import java.io.File; 14 import java.util.ArrayList; 15 import java.util.List; 16 17 public class MarkComparatorTest extends TestCase { 18 19 private class MyListener implements CPDListener { 20 public void addedFile(int fileCount, File file) { 21 } 22 public void comparisonCountUpdate(long comparisons) { 23 gotCallback = true; 24 } 25 } 26 27 private boolean gotCallback; 28 29 public void testEqualMarksAreEqual() { 30 List code = getCode(); 31 MarkComparator comp = new MarkComparator(new CPDNullListener(), code); 32 Mark mark1 = new Mark(code.size(), "/var/Foo.java", 0, 1); 33 Mark mark6 = new Mark(code.size(), "/var/Foo.java", 5, 1); 34 assertEquals(0, comp.compare(mark1, mark6)); 35 } 36 37 public void testSameMarkIsEqual() { 38 List code = getCode(); 39 MarkComparator comp = new MarkComparator(new CPDNullListener(), code); 40 Mark mark1 = new Mark(code.size(), "/var/Foo.java", 0, 1); 41 assertEquals(0, comp.compare(mark1, mark1)); 42 } 43 public void testUnuequalMarksAreUnequal() { 44 List code = getCode(); 45 MarkComparator comp = new MarkComparator(new CPDNullListener(), code); 46 Mark mark1 = new Mark(0, "/var/Foo.java", 0, 1); 47 Mark mark5 = new Mark(4, "/var/Foo.java", 4, 1); 48 assertFalse(0 == comp.compare(mark1, mark5)); 49 } 50 51 public void testcomparisonCountCallback() { 52 gotCallback = false; 53 List code = getCode(); 54 MarkComparator comp = new MarkComparator(new MyListener(), code, 3); 55 Mark mark1 = new Mark(code.size(), "/var/Foo.java", 0, 1); 56 Mark mark2 = new Mark(code.size(), "/var/Foo.java", 1, 1); 57 comp.compare(mark1, mark2); 58 comp.compare(mark1, mark2); 59 comp.compare(mark1, mark2); 60 assertTrue(gotCallback); 61 } 62 63 public void test1() {} 64 65 private List getCode() { 66 List code = new ArrayList(); 67 TokenEntry te1 = new TokenEntry("System", 0, "/var/Foo.java", 1); 68 TokenEntry te2 = new TokenEntry(".", 1, "/var/Foo.java", 1); 69 TokenEntry te3 = new TokenEntry("out", 2, "/var/Foo.java", 1); 70 TokenEntry te4 = new TokenEntry(".", 3, "/var/Foo.java", 1); 71 TokenEntry te5 = new TokenEntry("println", 4, "/var/Foo.java", 1); 72 TokenEntry te6 = new TokenEntry("System", 5, "/var/Foo.java", 1); 73 code.add(te1); 74 code.add(te2); 75 code.add(te3); 76 code.add(te4); 77 code.add(te5); 78 code.add(te6); 79 return code; 80 } 81 }

This page was automatically generated by Maven