package org.jabref.logic.importer.fetcher;
import java.util.Optional;
import org.jabref.logic.help.HelpFile;
import org.jabref.logic.importer.ImportFormatPreferences;
import org.jabref.model.entry.BibEntry;
import org.jabref.testutils.category.FetcherTests;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.mockito.Answers;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
@Category(FetcherTests.class)
public class DiVATest {
private DiVA fetcher;
@Before
public void setUp() {
fetcher = new DiVA(mock(ImportFormatPreferences.class, Answers.RETURNS_DEEP_STUBS));
}
@Test
public void testGetName() {
assertEquals("DiVA", fetcher.getName());
}
@Test
public void testGetHelpPage() {
assertEquals(HelpFile.FETCHER_DIVA, HelpFile.FETCHER_DIVA);
}
@Test
public void testPerformSearchById() throws Exception {
BibEntry entry = new BibEntry();
entry.setType("article");
entry.setField("author", "Gustafsson, Oscar");
entry.setField("institution", "Linköping University, The Institute of Technology");
entry.setCiteKey("Gustafsson260746");
entry.setField("journal",
"IEEE transactions on circuits and systems. 2, Analog and digital signal processing (Print)");
entry.setField("number", "11");
entry.setField("pages", "974--978");
entry.setField("title", "Lower bounds for constant multiplication problems");
entry.setField("volume", "54");
entry.setField("year", "2007");
assertEquals(Optional.of(entry), fetcher.performSearchById("diva2:260746"));
}
@Test
public void testValidIdentifier() {
assertTrue(fetcher.isValidId("diva2:260746"));
}
@Test
public void testInvalidIdentifier() {
assertFalse(fetcher.isValidId("banana"));
}
}