package org.jabref.logic.openoffice; import java.util.Optional; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; public class CitationEntryTest { @Test public void testCitationEntryInitalPageInfo() { CitationEntry citationEntry = new CitationEntry("RefMark", "Context", "Info"); assertFalse(citationEntry.pageInfoChanged()); assertTrue(citationEntry.getPageInfo().isPresent()); assertEquals("Info", citationEntry.getPageInfo().get()); assertEquals("RefMark", citationEntry.getRefMarkName()); assertEquals("Context", citationEntry.getContext()); } @Test public void testCitationEntryOptionalInitalPageInfo() { CitationEntry citationEntry = new CitationEntry("RefMark", "Context", Optional.of("Info")); assertFalse(citationEntry.pageInfoChanged()); assertTrue(citationEntry.getPageInfo().isPresent()); assertEquals("Info", citationEntry.getPageInfo().get()); assertEquals("RefMark", citationEntry.getRefMarkName()); assertEquals("Context", citationEntry.getContext()); } @Test public void testCitationEntryInitalPageInfoChanged() { CitationEntry citationEntry = new CitationEntry("RefMark", "Context", "Info"); citationEntry.setPageInfo("Other info"); assertTrue(citationEntry.pageInfoChanged()); assertTrue(citationEntry.getPageInfo().isPresent()); assertEquals("Other info", citationEntry.getPageInfo().get()); } @Test public void testCitationEntryInitalPageInfoRemoved() { CitationEntry citationEntry = new CitationEntry("RefMark", "Context", "Info"); citationEntry.setPageInfo(null); assertTrue(citationEntry.pageInfoChanged()); assertFalse(citationEntry.getPageInfo().isPresent()); } @Test public void testCitationEntryNoInitalPageInfo() { CitationEntry citationEntry = new CitationEntry("RefMark", "Context"); assertFalse(citationEntry.pageInfoChanged()); assertFalse(citationEntry.getPageInfo().isPresent()); } @Test public void testCitationEntryNoInitalPageInfoChanged() { CitationEntry citationEntry = new CitationEntry("RefMark", "Context"); citationEntry.setPageInfo("Other info"); assertTrue(citationEntry.pageInfoChanged()); assertTrue(citationEntry.getPageInfo().isPresent()); assertEquals("Other info", citationEntry.getPageInfo().get()); } @Test public void testCitationEntryEquals() { CitationEntry citationEntry1 = new CitationEntry("RefMark", "Context", "Info"); CitationEntry citationEntry2 = new CitationEntry("RefMark2", "Context", "Info"); CitationEntry citationEntry3 = new CitationEntry("RefMark", "Other Context", "Other Info"); assertEquals(citationEntry1, citationEntry1); assertEquals(citationEntry1, citationEntry3); assertNotEquals(citationEntry1, citationEntry2); assertNotEquals(citationEntry1, "Random String"); } @Test public void testCitationEntryCompareTo() { CitationEntry citationEntry1 = new CitationEntry("RefMark", "Context", "Info"); CitationEntry citationEntry2 = new CitationEntry("RefMark2", "Context", "Info"); CitationEntry citationEntry3 = new CitationEntry("RefMark", "Other Context", "Other Info"); assertEquals(0, citationEntry1.compareTo(citationEntry3)); assertEquals(-1, citationEntry1.compareTo(citationEntry2)); assertEquals(1, citationEntry2.compareTo(citationEntry1)); } }