package org.jabref.logic.importer.fileformat; import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; import java.util.List; import java.util.Optional; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.util.FileExtensions; import org.jabref.model.entry.BibEntry; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; public class FreeCiteImporterTest { private FreeCiteImporter importer; @Before public void setUp() { importer = new FreeCiteImporter(mock(ImportFormatPreferences.class)); } @Test public void freeCiteReturnsSomething() throws IOException { String entryText = "Kopp, O.; Martin, D.; Wutke, D. & Leymann, F. The Difference Between Graph-Based and Block-Structured Business Process Modelling Languages Enterprise Modelling and Information Systems, Gesellschaft für Informatik e.V. (GI), 2009, 4, 3-13"; BufferedReader input = new BufferedReader(new StringReader(entryText)); List<BibEntry> bibEntries = importer.importDatabase(input).getDatabase().getEntries(); assertEquals(1, bibEntries.size()); BibEntry bibEntry = bibEntries.get(0); assertEquals(bibEntry.getField("author"), Optional.of("O Kopp and D Martin and D Wutke and F Leymann")); } @Test public void testGetFormatName() { assertEquals("text citations", importer.getName()); } @Test public void testsGetExtensions() { assertEquals(FileExtensions.FREECITE, importer.getExtensions()); } @Test public void testGetDescription() { assertEquals("This importer parses text format citations using the online API of FreeCite.", importer.getDescription()); } }