package org.jabref.logic.importer; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.model.database.BibDatabase; import org.junit.Before; import org.junit.Test; import org.mockito.Answers; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; public class BibDatabaseTestsWithFiles { private ImportFormatPreferences importFormatPreferences; @Before public void setUp() { importFormatPreferences = mock(ImportFormatPreferences.class, Answers.RETURNS_DEEP_STUBS); } @Test public void resolveStrings() throws IOException { try (FileInputStream stream = new FileInputStream("src/test/resources/org/jabref/util/twente.bib"); InputStreamReader fr = new InputStreamReader(stream, StandardCharsets.UTF_8)) { ParserResult result = new BibtexParser(importFormatPreferences).parse(fr); BibDatabase db = result.getDatabase(); assertEquals("Arvind", db.resolveForStrings("#Arvind#")); assertEquals("Patterson, David", db.resolveForStrings("#Patterson#")); assertEquals("Arvind and Patterson, David", db.resolveForStrings("#Arvind# and #Patterson#")); // Strings that are not found return just the given string. assertEquals("#unknown#", db.resolveForStrings("#unknown#")); } } }