package org.jabref.logic.importer.fileformat; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import org.jabref.logic.util.FileExtensions; import org.jabref.model.entry.BibEntry; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class CopacImporterTest { private CopacImporter importer; /** * Generates a List of all files in the package "/src/test/resources/org/jabref/logic/importer/fileformat" * * @return A list of Names * @throws IOException */ public List<String> getTestFiles() throws Exception { try (Stream<Path> stream = Files.list(Paths.get(CopacImporterTest.class.getResource("").toURI()))) { return stream.filter(p -> !Files.isDirectory(p)).map(f -> f.getFileName().toString()) .collect(Collectors.toList()); } } @Before public void setUp() throws Exception { importer = new CopacImporter(); } @Test public void testsGetExtensions() { Assert.assertEquals(FileExtensions.COPAC, importer.getExtensions()); } @Test public void testGetDescription() { Assert.assertEquals("Importer for COPAC format.", importer.getDescription()); } @Test public void testIsNotRecognizedFormat() throws Exception { List<String> list = getTestFiles().stream().filter(n -> !n.startsWith("CopacImporterTest")) .collect(Collectors.toList()); for (String str : list) { Path file = Paths.get(CopacImporterTest.class.getResource(str).toURI()); Assert.assertFalse(importer.isRecognizedFormat(file, StandardCharsets.UTF_8)); } } @Test public void testImportEmptyEntries() throws Exception { Path path = Paths.get(CopacImporterTest.class.getResource("Empty.txt").toURI()); List<BibEntry> entries = importer.importDatabase(path, StandardCharsets.UTF_8).getDatabase().getEntries(); Assert.assertEquals(Collections.emptyList(), entries); } }