View Javadoc
1 package test.net.sourceforge.pmd.cpd; 2 3 import junit.framework.TestCase; 4 import net.sourceforge.pmd.PMD; 5 import net.sourceforge.pmd.cpd.JavaTokenizer; 6 import net.sourceforge.pmd.cpd.Mark; 7 import net.sourceforge.pmd.cpd.Match; 8 import net.sourceforge.pmd.cpd.MatchAlgorithm; 9 import net.sourceforge.pmd.cpd.SourceCode; 10 import net.sourceforge.pmd.cpd.Tokens; 11 12 import java.io.StringReader; 13 import java.util.HashMap; 14 import java.util.Iterator; 15 import java.util.Map; 16 17 public class MatchAlgorithmTest extends TestCase { 18 19 public static final String LINE_1 = "public class Foo { "; 20 public static final String LINE_2 = " public void bar() {"; 21 public static final String LINE_3 = " System.out.println(\"hello\");"; 22 public static final String LINE_4 = " System.out.println(\"hello\");"; 23 public static final String LINE_5 = " }"; 24 public static final String LINE_6 = "}"; 25 26 public static String getSampleCode() { 27 return 28 LINE_1 + PMD.EOL + 29 LINE_2 + PMD.EOL + 30 LINE_3 + PMD.EOL + 31 LINE_4 + PMD.EOL + 32 LINE_5 + PMD.EOL + 33 LINE_6; 34 } 35 36 public void testSimple() throws Throwable { 37 String code = getSampleCode(); 38 JavaTokenizer tokenizer = new JavaTokenizer(); 39 SourceCode sourceCode = new SourceCode("Foo.java"); 40 Tokens tokens = new Tokens(); 41 tokenizer.tokenize(sourceCode, tokens, new StringReader(code)); 42 assertEquals(29, tokens.size()); 43 Map codeMap = new HashMap(); 44 codeMap.put("Foo.java", sourceCode); 45 46 MatchAlgorithm matchAlgorithm = new MatchAlgorithm(codeMap, tokens); 47 matchAlgorithm.findMatches(5); 48 49 Iterator matches = matchAlgorithm.matches(); 50 Match match = (Match)matches.next(); 51 assertFalse(matches.hasNext()); 52 53 Iterator marks = match.iterator(); 54 Mark mark1 = (Mark)marks.next(); 55 Mark mark2 = (Mark)marks.next(); 56 assertTrue(!marks.hasNext()); 57 58 assertEquals(2, mark2.getBeginLine()); 59 assertEquals(3, mark1.getBeginLine()); 60 assertTrue("Foo.java" == mark1.getTokenSrcID() && "Foo.java" == mark2.getTokenSrcID()); 61 assertEquals(LINE_3, match.getSourceCodeSlice()); 62 } 63 }

This page was automatically generated by Maven