package pl.edu.icm.saos.search.analysis.solr.result; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import org.joda.time.LocalDate; import org.junit.Test; import pl.edu.icm.saos.search.analysis.request.Period; import pl.edu.icm.saos.search.analysis.request.Period.PeriodUnit; import pl.edu.icm.saos.search.analysis.request.XDateRange; import pl.edu.icm.saos.search.analysis.request.XRange; import pl.edu.icm.saos.search.analysis.request.XSettings; /** * @author Ɓukasz Dumiszewski */ public class XDateRangeUtilsTest { private XDateRangeUtils utils = new XDateRangeUtils(); //------------------------ TESTS -------------------------- @Test public void getDateRange_NO_DATE_RANGE() { // given XSettings xsettings = new XSettings(); xsettings.setRange(mock(XRange.class)); // execute & assert assertNull(utils.getDateRange(xsettings)); } @Test public void getDateRange() { // given XSettings xsettings = new XSettings(); XDateRange xrange = new XDateRange(new LocalDate(2012, 10, 1), new LocalDate(2013, 10, 2), new Period(1, PeriodUnit.DAY)); xsettings.setRange(xrange); // execute XDateRange dateRange = utils.getDateRange(xsettings); // assert assertNotNull(dateRange); assertTrue(dateRange == xrange); } @Test public void generateEndDate_DAY() { // given LocalDate startDate = new LocalDate(2011, 11, 11); // execute LocalDate endDate = utils.generateEndDate(startDate, new Period(1, PeriodUnit.DAY)); // assert assertEquals(new LocalDate(2011, 11, 11), endDate); } @Test public void generateEndDate_MONTH() { // given LocalDate startDate = new LocalDate(2011, 11, 11); // execute LocalDate endDate = utils.generateEndDate(startDate, new Period(1, PeriodUnit.MONTH)); // assert assertEquals(new LocalDate(2011, 12, 10), endDate); } @Test public void generateEndDate_YEAR() { // given LocalDate startDate = new LocalDate(2011, 11, 11); // execute LocalDate endDate = utils.generateEndDate(startDate, new Period(1, PeriodUnit.YEAR)); // assert assertEquals(new LocalDate(2012, 11, 10), endDate); } }