package org.jabref.logic.cleanup; import java.util.Optional; import org.jabref.logic.layout.LayoutFormatterPreferences; import org.jabref.model.database.BibDatabaseContext; import org.jabref.model.entry.BibEntry; import org.jabref.model.metadata.FileDirectoryPreferences; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import static org.mockito.Mockito.mock; public class ISSNCleanupTest { private CleanupWorker worker; @Before public void setUp() { worker = new CleanupWorker(mock(BibDatabaseContext.class), new CleanupPreferences("", "", mock(LayoutFormatterPreferences.class), mock(FileDirectoryPreferences.class))); } @Test public void cleanupISSNReturnsCorrectISSN() { CleanupPreset preset = new CleanupPreset(CleanupPreset.CleanupStep.CLEAN_UP_ISSN); BibEntry entry = new BibEntry(); entry.setField("issn", "0123-4567"); worker.cleanup(preset, entry); Assert.assertEquals(Optional.of("0123-4567"), entry.getField("issn")); } @Test public void cleanupISSNAddsMissingDash() { CleanupPreset preset = new CleanupPreset(CleanupPreset.CleanupStep.CLEAN_UP_ISSN); BibEntry entry = new BibEntry(); entry.setField("issn", "01234567"); worker.cleanup(preset, entry); Assert.assertEquals(Optional.of("0123-4567"), entry.getField("issn")); } @Test public void cleanupISSNJunkStaysJunk() { CleanupPreset preset = new CleanupPreset(CleanupPreset.CleanupStep.CLEAN_UP_ISSN); BibEntry entry = new BibEntry(); entry.setField("issn", "Banana"); worker.cleanup(preset, entry); Assert.assertEquals(Optional.of("Banana"), entry.getField("issn")); } }