package com.prolificinteractive.materialcalendarview; import org.junit.Test; import java.util.Calendar; import static org.junit.Assert.assertEquals; /** * Some tests to validate previous implementation is the same as the new indecizer */ public class DateRangeIndexTest { @Test public void testSingleMonth() { CalendarDay date = CalendarDay.from(2015, 6, 1); DateRangeIndex index = new MonthPagerAdapter.Monthly(date, date); assertEquals(1, index.getCount()); assertEquals(date, index.getItem(0)); assertEquals(0, index.indexOf(date)); } @Test public void testBigRange() { Calendar minCal = Calendar.getInstance(); minCal.set(1000, 0, 1); CalendarDay minDay = CalendarDay.from(minCal); Calendar maxCal = Calendar.getInstance(); maxCal.set(3000, 0, 1); CalendarDay maxDay = CalendarDay.from(maxCal); DateRangeIndex index = new MonthPagerAdapter.Monthly(minDay, maxDay); assertEquals(2000 * 12 + 1, index.getCount()); Calendar worker = CalendarUtils.getInstance(); minDay.copyToMonthOnly(worker); CalendarDay workingMonth = CalendarDay.from(worker); int counter = 0; while (!maxDay.isBefore(workingMonth)) { CalendarDay day = CalendarDay.from(worker); assertEquals(day, index.getItem(counter)); assertEquals(counter, index.indexOf(day)); worker.add(Calendar.MONTH, 1); worker.set(Calendar.DAY_OF_MONTH, 1); workingMonth = CalendarDay.from(worker); counter++; } } }