/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.cpd; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.HashSet; import java.util.List; import java.util.Set; import org.apache.commons.io.FilenameUtils; import org.junit.Test; public class CPDFilelistTest { @Test public void testFilelist() { CPDConfiguration arguments = new CPDConfiguration(); arguments.setLanguage(new CpddummyLanguage()); arguments.setFileListPath("src/test/resources/net/sourceforge/pmd/cpd/cli/filelist.txt"); CPD cpd = new CPD(arguments); CPDCommandLineInterface.addSourceFilesToCPD(cpd, arguments); List<String> paths = cpd.getSourcePaths(); assertEquals(2, paths.size()); Set<String> simpleNames = new HashSet<>(); for (String path : paths) { simpleNames.add(FilenameUtils.getName(path)); } assertTrue(simpleNames.contains("anotherfile.dummy")); assertTrue(simpleNames.contains("somefile.dummy")); } @Test public void testFilelistMultipleLines() { CPDConfiguration arguments = new CPDConfiguration(); arguments.setLanguage(new CpddummyLanguage()); arguments.setFileListPath("src/test/resources/net/sourceforge/pmd/cpd/cli/filelist2.txt"); CPD cpd = new CPD(arguments); CPDCommandLineInterface.addSourceFilesToCPD(cpd, arguments); List<String> paths = cpd.getSourcePaths(); assertEquals(2, paths.size()); Set<String> simpleNames = new HashSet<>(); for (String path : paths) { simpleNames.add(FilenameUtils.getName(path)); } assertTrue(simpleNames.contains("anotherfile.dummy")); assertTrue(simpleNames.contains("somefile.dummy")); } }