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

This page was automatically generated by Maven