mirror of
https://github.com/SonarSource/sonarqube.git
synced 2024-08-19 14:10:38 +02:00
64 lines
2.1 KiB
Java
64 lines
2.1 KiB
Java
/**
|
|
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
|
*/
|
|
package net.sourceforge.pmd.cpd.fork;
|
|
|
|
import static org.hamcrest.Matchers.is;
|
|
import static org.hamcrest.Matchers.nullValue;
|
|
import static org.junit.Assert.assertThat;
|
|
|
|
import java.nio.charset.Charset;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import net.sourceforge.pmd.cpd.CPDListener;
|
|
import net.sourceforge.pmd.cpd.CPDNullListener;
|
|
import net.sourceforge.pmd.cpd.Language;
|
|
import net.sourceforge.pmd.cpd.SourceCode;
|
|
import net.sourceforge.pmd.cpd.Tokens;
|
|
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.sonar.duplications.cpd.CPD;
|
|
import org.sonar.duplications.cpd.Match;
|
|
import org.sonar.duplications.cpd.MatchAlgorithm;
|
|
|
|
public class CPDFile2 {
|
|
|
|
|
|
public void method1(){
|
|
CPD cpd = new CPD(20, cpdLanguage);
|
|
cpd.setEncoding(Charset.defaultCharset().name());
|
|
cpd.setLoadSourceCodeSlices(false);
|
|
cpd.add(FileUtils.toFile(CPD.class.getResource("/org/sonar/duplications/cpd/CPDTest/CPDFile1.java")));
|
|
cpd.add(FileUtils.toFile(CPD.class.getResource("/org/sonar/duplications/cpd/CPDTest/CPDFile2.java")));
|
|
cpd.go();
|
|
|
|
List<Match> matches = getMatches(cpd);
|
|
assertThat(matches.size(), is(1));
|
|
|
|
org.sonar.duplications.cpd.Match match = matches.get(0);
|
|
assertThat(match.getLineCount(), is(26));
|
|
assertThat(match.getFirstMark().getBeginLine(), is(16));
|
|
assertThat(match.getSourceCodeSlice(), is(nullValue()));
|
|
}
|
|
|
|
public void method1Duplicated(){
|
|
CPD cpd = new CPD(20, cpdLanguage);
|
|
cpd.setEncoding(Charset.defaultCharset().name());
|
|
cpd.setLoadSourceCodeSlices(false);
|
|
cpd.add(FileUtils.toFile(CPD.class.getResource("/org/sonar/duplications/cpd/CPDTest/CPDFile1.java")));
|
|
cpd.add(FileUtils.toFile(CPD.class.getResource("/org/sonar/duplications/cpd/CPDTest/CPDFile2.java")));
|
|
cpd.go();
|
|
|
|
List<Match> matches = getMatches(cpd);
|
|
assertThat(matches.size(), is(1));
|
|
|
|
org.sonar.duplications.cpd.Match match = matches.get(0);
|
|
assertThat(match.getLineCount(), is(26));
|
|
assertThat(match.getFirstMark().getBeginLine(), is(16));
|
|
assertThat(match.getSourceCodeSlice(), is(nullValue()));
|
|
}
|
|
|
|
}
|