package org.jabref.logic.importer.fileformat; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Collection; import java.util.stream.Collectors; import java.util.stream.Stream; import org.jabref.logic.bibtex.BibEntryAssert; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameter; import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class CopacImporterTestFiles { private CopacImporter copacImporter; @Parameter public String fileName; @Before public void setUp() { copacImporter = new CopacImporter(); } @Parameters(name = "{0}") public static Collection<String> fileNames() throws Exception { try (Stream<Path> stream = Files.list(Paths.get(CopacImporterTestFiles.class.getResource("").toURI()))) { return stream .filter(n -> n.getFileName().toString().startsWith("CopacImporterTest") && n.getFileName().toString().endsWith(".txt")) .map(f -> f.getFileName().toString()).collect(Collectors.toList()); } } @Test public void testIsRecognizedFormat() throws Exception { Path file = Paths.get(CopacImporterTest.class.getResource(fileName).toURI()); Assert.assertTrue(copacImporter.isRecognizedFormat(file, StandardCharsets.UTF_8)); } @Test public void testImportEntries() throws Exception { String bibFileName = fileName.replace(".txt", ".bib"); try (InputStream bibStream = BibtexImporterTest.class.getResourceAsStream(bibFileName)) { BibEntryAssert.assertEquals(bibStream, CopacImporterTest.class.getResource(fileName), copacImporter); } } }