package org.jabref.logic.integrity; import java.util.Collections; import java.util.List; import org.jabref.model.entry.BibEntry; import org.junit.Test; import static org.junit.Assert.assertEquals; public class NoBibTexFieldCheckerTest { private NoBibtexFieldChecker checker = new NoBibtexFieldChecker(); @Test public void abstractIsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("abstract", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } @Test public void addressIsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("address", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } @Test public void afterwordIsRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("afterword", "test"); IntegrityMessage message = new IntegrityMessage("biblatex field only", entry, "afterword"); List<IntegrityMessage> messages = checker.check(entry); assertEquals(Collections.singletonList(message), messages); } @Test public void arbitraryNonBiblatexFieldIsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("fieldNameNotDefinedInThebiblatexManual", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } @Test public void commentIsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("comment", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } @Test public void instituationIsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("institution", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } @Test public void journalIsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("journal", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } @Test public void journaltitleIsRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("journaltitle", "test"); IntegrityMessage message = new IntegrityMessage("biblatex field only", entry, "journaltitle"); List<IntegrityMessage> messages = checker.check(entry); assertEquals(Collections.singletonList(message), messages); } @Test public void keywordsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("keywords", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } @Test public void locationIsRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("location", "test"); IntegrityMessage message = new IntegrityMessage("biblatex field only", entry, "location"); List<IntegrityMessage> messages = checker.check(entry); assertEquals(Collections.singletonList(message), messages); } @Test public void reviewIsNotRecognizedAsBiblatexOnlyField() { BibEntry entry = new BibEntry(); entry.setField("review", "test"); assertEquals(Collections.emptyList(), checker.check(entry)); } }