@SuppressWarnings("unchecked") private <T> T tryDefaultValue(ReferenceDataId<T> id) { if (id instanceof HolidayCalendarId) { return (T) ImmutableHolidayCalendar.of((HolidayCalendarId) id, ImmutableList.of(), WEEKEND_DAYS); } return null; }
static ImmutableHolidayCalendar generateNewYorkFed() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { usCommon(holidays, year, false, true, 1986); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.NYFD, holidays, SATURDAY, SUNDAY); }
static ImmutableHolidayCalendar generateUsNewYork() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { usCommon(holidays, year, false, true, 1986); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.USNY, holidays, SATURDAY, SUNDAY); }
public void test_equals() { ImmutableHolidayCalendar a1 = ImmutableHolidayCalendar.of(TEST_ID, Arrays.asList(WED_2014_07_16), SATURDAY, SUNDAY); ImmutableHolidayCalendar a2 = ImmutableHolidayCalendar.of(TEST_ID, Arrays.asList(WED_2014_07_16), SATURDAY, SUNDAY); ImmutableHolidayCalendar b = ImmutableHolidayCalendar.of(TEST_ID2, Arrays.asList(WED_2014_07_16), SATURDAY, SUNDAY); ImmutableHolidayCalendar c = ImmutableHolidayCalendar.of(TEST_ID, Arrays.asList(THU_2014_07_10), SATURDAY, SUNDAY); assertEquals(a1.equals(a2), true); assertEquals(a1.equals(b), false); assertEquals(a1.equals(c), true); // only name compared }
public void test_of_IterableIterable_null() { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, FRI_2014_07_18); Iterable<DayOfWeek> weekendDays = Arrays.asList(THURSDAY, FRIDAY); assertThrowsRuntime(() -> ImmutableHolidayCalendar.of(null, holidays, weekendDays)); assertThrowsRuntime(() -> ImmutableHolidayCalendar.of(TEST_ID, null, weekendDays)); assertThrowsRuntime(() -> ImmutableHolidayCalendar.of(TEST_ID, holidays, null)); }
public void test_of_IterableDayOfWeekDayOfWeek_null() { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, FRI_2014_07_18); assertThrowsRuntime(() -> ImmutableHolidayCalendar.of(null, holidays, SATURDAY, SUNDAY)); assertThrowsRuntime(() -> ImmutableHolidayCalendar.of(TEST_ID, null, SATURDAY, SUNDAY)); assertThrowsRuntime(() -> ImmutableHolidayCalendar.of(TEST_ID, holidays, null, SUNDAY)); assertThrowsRuntime(() -> ImmutableHolidayCalendar.of(TEST_ID, holidays, SATURDAY, null)); }
static ImmutableHolidayCalendar generateAuckland() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { newZealand(holidays, year); // auckland anniversary day holidays.add(date(year, 1, 29).minusDays(3).with(nextOrSame(MONDAY))); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("NZAU"), holidays, SATURDAY, 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 = "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)); }
public void test_combineWith_none() { Iterable<LocalDate> holidays = Arrays.asList(WED_2014_07_16); ImmutableHolidayCalendar base = ImmutableHolidayCalendar.of(TEST_ID, holidays, SATURDAY, SUNDAY); HolidayCalendar test = base.combinedWith(HolidayCalendars.NO_HOLIDAYS); assertSame(test, base); }
public void test_combined_same() { ImmutableHolidayCalendar base = ImmutableHolidayCalendar.of(TEST_ID, ImmutableList.of(MON_2014_07_14), SATURDAY, SUNDAY); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.combined(base, base); assertSame(test, base); }
public void test_combineWith_same() { Iterable<LocalDate> holidays = Arrays.asList(WED_2014_07_16); ImmutableHolidayCalendar base = ImmutableHolidayCalendar.of(TEST_ID, holidays, SATURDAY, SUNDAY); HolidayCalendar test = base.combinedWith(base); assertSame(test, base); }
@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 = "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 = "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_SAT_SUN_shift() { ImmutableHolidayCalendar equivalent = ImmutableHolidayCalendar.of(HolidayCalendarId.of("TEST-SAT-SUN"), ImmutableList.of(), ImmutableList.of(SATURDAY, SUNDAY)); assertSatSun(equivalent); assertSatSun(HolidayCalendars.SAT_SUN); }
public void test_nearest() { HolidayCalendar cal = ImmutableHolidayCalendar.of( HolidayCalendarId.of("Test"), ImmutableList.of(MON_2014_07_14), SATURDAY, SUNDAY); assertEquals(NEAREST.adjust(FRI_2014_07_11, cal), FRI_2014_07_11); assertEquals(NEAREST.adjust(SAT_2014_07_12, cal), FRI_2014_07_11); assertEquals(NEAREST.adjust(SUN_2014_07_13, cal), TUE_2014_07_15); assertEquals(NEAREST.adjust(MON_2014_07_14, cal), TUE_2014_07_15); }
public void test_isBusinessDay_outOfRange() { Iterable<LocalDate> holidays = Arrays.asList(MON_2014_07_14, TUE_2014_07_15); ImmutableHolidayCalendar test = ImmutableHolidayCalendar.of(TEST_ID, holidays, SATURDAY, SUNDAY); assertEquals(test.isBusinessDay(LocalDate.of(2013, 12, 31)), true); assertEquals(test.isBusinessDay(LocalDate.of(2015, 1, 1)), true); assertThrowsIllegalArg(() -> test.isBusinessDay(LocalDate.MIN)); assertThrowsIllegalArg(() -> test.isBusinessDay(LocalDate.MAX)); }