@Test(dataProvider = "createSunWeekend") public void test_of_IterableIterable_sunWeekend(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, THU_2014_07_17); Iterable<DayOfWeek> weekendDays = Arrays.asList(SUNDAY); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, weekendDays); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(SUNDAY)); }
@Test(dataProvider = "createSatSunWeekend") public void test_of_IterableIterable_satSunWeekend(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, FRI_2014_07_18); Iterable<DayOfWeek> weekendDays = Arrays.asList(SATURDAY, SUNDAY); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, weekendDays); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(SATURDAY, SUNDAY)); }
@Test(dataProvider = "createThuFriWeekend") public void test_of_IterableIterable_thuFriWeekend(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, SAT_2014_07_19); Iterable<DayOfWeek> weekendDays = Arrays.asList(THURSDAY, FRIDAY); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, weekendDays); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(THURSDAY, FRIDAY)); }
@Test(dataProvider = "createNoWeekends") public void test_of_IterableIterable_noWeekends(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, FRI_2014_07_18); Iterable<DayOfWeek> weekendDays = Arrays.asList(); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, weekendDays); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of()); assertEquals(test.toString(), "HolidayCalendar[" + TEST_ID.getName() + "]"); }
@Test(dataProvider = "createNoHolidays") public void test_of_IterableIterable_noHolidays(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(); Iterable<DayOfWeek> weekendDays = Arrays.asList(FRIDAY, SATURDAY); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, weekendDays); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(FRIDAY, SATURDAY)); assertEquals(test.toString(), "HolidayCalendar[" + TEST_ID.getName() + "]"); }
@Test(dataProvider = "createThuFriSatWeekend") public void test_of_IterableIterable_thuFriSatWeekend(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, TUE_2014_07_15); Iterable<DayOfWeek> weekendDays = Arrays.asList(THURSDAY, FRIDAY, SATURDAY); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, weekendDays); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(THURSDAY, FRIDAY, SATURDAY)); assertEquals(test.toString(), "HolidayCalendar[" + TEST_ID.getName() + "]"); }
@Test(dataProvider = "createSatSunWeekend") public void test_of_IterableDayOfWeekDayOfWeek_satSunWeekend(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, FRI_2014_07_18); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, SATURDAY, SUNDAY); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(SATURDAY, SUNDAY)); assertEquals(test.toString(), "HolidayCalendar[" + TEST_ID.getName() + "]"); }
@Test(dataProvider = "createSunWeekend") public void test_of_IterableDayOfWeekDayOfWeek_sunWeekend(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, THU_2014_07_17); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, SUNDAY, SUNDAY); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(SUNDAY)); assertEquals(test.toString(), "HolidayCalendar[" + TEST_ID.getName() + "]"); }
@Test(dataProvider = "createThuFriWeekend") public void test_of_IterableDayOfWeekDayOfWeek_thuFriWeekend(LocalDate date, boolean isBusinessDay) { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, SAT_2014_07_19); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, THURSDAY, FRIDAY); assertEquals(test.isBusinessDay(date), isBusinessDay); assertEquals(test.isHoliday(date), !isBusinessDay); assertEquals(test.getHolidays(), ImmutableSortedSet.copyOf(holidays)); assertEquals(test.getWeekendDays(), ImmutableSet.of(THURSDAY, FRIDAY)); assertEquals(test.toString(), "HolidayCalendar[" + TEST_ID.getName() + "]"); }
public void test_broadCheck() { LocalDate start = LocalDate.of(2010, 1, 1); LocalDate end = LocalDate.of(2020, 1, 1); Random random = new Random(547698); for (int i = 0; i < 10; i++) { // create sample holiday dates LocalDate date = start; SortedSet<LocalDate> set = new TreeSet<>(); while (date.isBefore(end)) { set.add(date); date = date.plusDays(random.nextInt(10) + 1); } // check holiday calendar works using simple algorithm ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of( HolidayCalendarId.of("TestBroad" + i), set, SATURDAY, SUNDAY); LocalDate checkDate = start; while (checkDate.isBefore(end)) { DayOfWeek dow = checkDate.getDayOfWeek(); assertEquals(test.isHoliday(checkDate), dow == SATURDAY || dow == SUNDAY || set.contains(checkDate)); checkDate = checkDate.plusDays(1); } } }