package org.jabref.model;
import org.jabref.model.database.BibDatabase;
import org.jabref.model.database.BibDatabaseContext;
import org.jabref.model.database.BibDatabaseMode;
import org.jabref.model.entry.BibEntry;
import org.jabref.model.metadata.MetaData;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class BibDatabaseContextTest {
@Test
public void testTypeBasedOnDefaultBibtex() {
BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(new BibDatabase(), new MetaData(), new Defaults(BibDatabaseMode.BIBTEX));
assertEquals(BibDatabaseMode.BIBTEX, bibDatabaseContext.getMode());
bibDatabaseContext.setMode(BibDatabaseMode.BIBLATEX);
assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode());
}
@Test
public void testTypeBasedOnDefaultBiblatex() {
BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(new BibDatabase(), new MetaData(), new Defaults(BibDatabaseMode.BIBLATEX));
assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode());
bibDatabaseContext.setMode(BibDatabaseMode.BIBTEX);
assertEquals(BibDatabaseMode.BIBTEX, bibDatabaseContext.getMode());
}
@Test
public void testTypeBasedOnInferredModeBibTeX() {
BibDatabase db = new BibDatabase();
BibEntry e1 = new BibEntry();
db.insertEntry(e1);
BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(db);
assertEquals(BibDatabaseMode.BIBTEX, bibDatabaseContext.getMode());
}
@Test
public void testTypeBasedOnInferredModeBiblatex() {
BibDatabase db = new BibDatabase();
BibEntry e1 = new BibEntry("electronic");
db.insertEntry(e1);
BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(db);
assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode());
}
}