package org.jabref.logic.importer.fileformat;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.jabref.model.entry.BibEntry;
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 BiblioscapeImporterTestTypes {
private BiblioscapeImporter bsImporter;
@Parameter(value = 0)
public String biblioscapeType;
@Parameter(value = 1)
public String expectedBibType;
@Parameters
public static Collection<String[]> types() {
return Arrays.asList(new String[][] {{"journal", "article"}, {"book section", "inbook"}, {"book", "book"},
{"conference", "inproceedings"}, {"proceedings", "inproceedings"}, {"report", "techreport"},
{"master thesis", "mastersthesis"}, {"thesis", "phdthesis"}, {"master", "misc"}});
}
@Before
public void setUp() throws Exception {
bsImporter = new BiblioscapeImporter();
}
@Test
public void importConvertsToCorrectBibType() throws IOException {
String bsInput = "--AU-- Baklouti, F.\n" + "--YP-- 1999\n" + "--KW-- Cells; Rna; Isoforms\n" + "--TI-- Blood\n"
+ "--RT-- " + biblioscapeType + "\n" + "------";
List<BibEntry> bibEntries = bsImporter.importDatabase(new BufferedReader(new StringReader(bsInput)))
.getDatabase().getEntries();
BibEntry entry = new BibEntry();
entry.setField("author", "Baklouti, F.");
entry.setField("keywords", "Cells; Rna; Isoforms");
entry.setField("title", "Blood");
entry.setField("year", "1999");
entry.setType(expectedBibType);
Assert.assertEquals(Collections.singletonList(entry), bibEntries);
}
}