/** * Converts an FpML business center string to a {@code HolidayCalendar}. * * @param fpmlBusinessCenter the business center name used by FpML * @return the holiday calendar * @throws IllegalArgumentException if the holiday calendar is not known */ public HolidayCalendarId convertHolidayCalendar(String fpmlBusinessCenter) { return HolidayCalendarId.of(fpmlBusinessCenter); }
@Override public HolidayCalendarId getId() { return HolidayCalendarId.of("Mock"); } }
private static Optional<BusinessDayAdjustment> parseBusinessDayAdjustment( CsvRow row, String leg, String cnvField, String calField) { BusinessDayConvention dateCnv = findValue(row, leg, cnvField) .map(s -> LoaderUtils.parseBusinessDayConvention(s)) .orElse(BusinessDayConventions.MODIFIED_FOLLOWING); return findValue(row, leg, calField) .map(s -> HolidayCalendarId.of(s)) .map(cal -> BusinessDayAdjustment.of(dateCnv, cal)); }
static ImmutableHolidayCalendar generateNewZealand() { // artificial non-ISDA definition named after BRBD for Brazil // this is needed as NZD-BBR index is published on both Wellington and Auckland anniversary days List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { newZealand(holidays, year); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("NZBD"), holidays, SATURDAY, SUNDAY); }
public void test_serialization() { HolidayCalendarId test = HolidayCalendarId.of("US"); assertSerialization(test); }
static ImmutableHolidayCalendar generateWellington() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { newZealand(holidays, year); // wellington anniversary day holidays.add(date(year, 1, 22).minusDays(3).with(nextOrSame(MONDAY))); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("NZWE"), holidays, SATURDAY, SUNDAY); }
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); }
public void test_of_combined() { HolidayCalendarId test = HolidayCalendarId.of("GB+EU"); assertEquals(test.getName(), "EU+GB"); assertEquals(test.getReferenceDataType(), HolidayCalendar.class); assertEquals(test.toString(), "EU+GB"); HolidayCalendarId test2 = HolidayCalendarId.of("EU+GB"); assertSame(test, test2); }
public void test_equalsHashCode() { HolidayCalendarId a = HolidayCalendarId.of("GB"); HolidayCalendarId a2 = HolidayCalendarId.of("GB"); HolidayCalendarId b = HolidayCalendarId.of("EU"); assertEquals(a.hashCode(), a2.hashCode()); assertEquals(a.equals(a), true); assertEquals(a.equals(a2), true); assertEquals(a.equals(b), false); assertEquals(a.equals(null), false); assertEquals(a.equals(ANOTHER_TYPE), false); }
public void test_of_combined_NoHolidays() { HolidayCalendarId test = HolidayCalendarId.of("GB+NoHolidays+EU"); assertEquals(test.getName(), "EU+GB"); assertEquals(test.getReferenceDataType(), HolidayCalendar.class); assertEquals(test.toString(), "EU+GB"); }
public void test_of_single() { HolidayCalendarId test = HolidayCalendarId.of("GB"); assertEquals(test.getName(), "GB"); assertEquals(test.getReferenceDataType(), HolidayCalendar.class); assertEquals(test.toString(), "GB"); }
public void test_resolve_combined_indirect() { HolidayCalendarId gb = HolidayCalendarId.of("GB"); HolidayCalendar gbCal = HolidayCalendars.SAT_SUN; HolidayCalendarId eu = HolidayCalendarId.of("EU"); HolidayCalendar euCal = HolidayCalendars.FRI_SAT; HolidayCalendarId combined = gb.combinedWith(eu); HolidayCalendar combinedCal = euCal.combinedWith(gbCal); ReferenceData refData = ImmutableReferenceData.of(ImmutableMap.of(gb, gbCal, eu, euCal)); assertEquals(combined.resolve(refData), combinedCal); assertEquals(refData.getValue(combined), combinedCal); }
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_combinedWithSelf() { HolidayCalendarId gb = HolidayCalendarId.of("GB"); assertEquals(gb.combinedWith(gb), gb); assertEquals(gb.combinedWith(NO_HOLIDAYS), gb); assertEquals(NO_HOLIDAYS.combinedWith(gb), gb); assertEquals(NO_HOLIDAYS.combinedWith(NO_HOLIDAYS), NO_HOLIDAYS); }
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_nzdOis() { OvernightIndex test = OvernightIndex.of("NZD-NZIONA"); assertEquals(test.getName(), "NZD-NZIONA"); assertEquals(test.getCurrency(), NZD); assertEquals(test.isActive(), true); assertEquals(test.getFixingCalendar(), HolidayCalendarId.of("NZBD")); assertEquals(test.getPublicationDateOffset(), 0); assertEquals(test.getEffectiveDateOffset(), 0); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getDefaultFixedLegDayCount(), ACT_365F); assertEquals(test.toString(), "NZD-NZIONA"); }
public void test_combinedWith() { HolidayCalendarId gb = HolidayCalendarId.of("GB"); HolidayCalendarId eu = HolidayCalendarId.of("EU"); HolidayCalendarId us = HolidayCalendarId.of("US"); HolidayCalendarId combined1 = eu.combinedWith(us).combinedWith(gb); HolidayCalendarId combined2 = us.combinedWith(eu).combinedWith(gb.combinedWith(us)); assertEquals(combined1.getName(), "EU+GB+US"); assertEquals(combined1.toString(), "EU+GB+US"); assertEquals(combined2.getName(), "EU+GB+US"); assertEquals(combined2.toString(), "EU+GB+US"); assertEquals(combined1.equals(combined2), true); }
public void test_inrOis() { OvernightIndex test = OvernightIndex.of("INR-OMIBOR"); assertEquals(test.getName(), "INR-OMIBOR"); assertEquals(test.getCurrency(), INR); assertEquals(test.isActive(), true); assertEquals(test.getFixingCalendar(), HolidayCalendarId.of("INMU")); assertEquals(test.getPublicationDateOffset(), 0); assertEquals(test.getEffectiveDateOffset(), 0); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getDefaultFixedLegDayCount(), ACT_365F); assertEquals(test.toString(), "INR-OMIBOR"); }
public void test_defaultByCurrency() { assertEquals(HolidayCalendarId.defaultByCurrency(Currency.GBP), HolidayCalendarIds.GBLO); assertEquals(HolidayCalendarId.defaultByCurrency(Currency.CZK), HolidayCalendarIds.CZPR); assertEquals(HolidayCalendarId.defaultByCurrency(Currency.HKD), HolidayCalendarId.of("HKHK")); assertThrowsIllegalArg(() -> HolidayCalendarId.defaultByCurrency(Currency.XAG)); }
public void test_readOldJodaFormat() throws IOException { ResourceLocator file = ResourceLocator.ofClasspath("com/opengamma/strata/basics/date/ImmutableHolidayCalendar-Old.json"); String str = file.getCharSource().read(); ImmutableHolidayCalendar cal = JodaBeanSer.PRETTY.jsonReader().read(str, ImmutableHolidayCalendar.class); assertEquals(cal.getId(), HolidayCalendarId.of("NZAU")); }