@Test public void testIgnore() throws Throwable { JavaTokenizer tokenizer = new JavaTokenizer(); tokenizer.setIgnoreLiterals(true); tokenizer.setIgnoreIdentifiers(true); SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader(getSampleCode(), "Foo.java")); Tokens tokens = new Tokens(); TokenEntry.clearImages(); tokenizer.tokenize(sourceCode, tokens); Map<String, SourceCode> codeMap = new HashMap<String, SourceCode>(); codeMap.put("Foo.java", sourceCode); MatchAlgorithm matchAlgorithm = new MatchAlgorithm(codeMap, tokens, 5); matchAlgorithm.findMatches(); Iterator matches = matchAlgorithm.matches(); Match match = (Match) matches.next(); assertFalse(matches.hasNext()); Iterator marks = match.iterator(); marks.next(); marks.next(); marks.next(); assertFalse(marks.hasNext()); }
@Test public void testSimple() throws Throwable { JavaTokenizer tokenizer = new JavaTokenizer(); SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader(getSampleCode(), "Foo.java")); Tokens tokens = new Tokens(); TokenEntry.clearImages(); tokenizer.tokenize(sourceCode, tokens); assertEquals(41, tokens.size()); Map<String, SourceCode> codeMap = new HashMap<String, SourceCode>(); codeMap.put("Foo.java", sourceCode); MatchAlgorithm matchAlgorithm = new MatchAlgorithm(codeMap, tokens, 5); matchAlgorithm.findMatches(); Iterator matches = matchAlgorithm.matches(); Match match = (Match) matches.next(); assertFalse(matches.hasNext()); Iterator marks = match.iterator(); TokenEntry mark1 = (TokenEntry) marks.next(); TokenEntry mark2 = (TokenEntry) marks.next(); assertFalse(marks.hasNext()); assertEquals(3, mark1.getBeginLine()); assertEquals(4, mark2.getBeginLine()); assertTrue("Foo.java" == mark1.getTokenSrcID() && "Foo.java" == mark2.getTokenSrcID()); assertEquals(LINE_3, match.getSourceCodeSlice()); }