net.sourceforge.pmd.cpd.fork.CPDFile2.java Source code

Java tutorial

Introduction

Here is the source code for net.sourceforge.pmd.cpd.fork.CPDFile2.java

Source

/**
 * 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()));
    }

}