public void equals() { DaysAdjustment a = DaysAdjustment.ofBusinessDays(3, NO_HOLIDAYS, BDA_FOLLOW_SAT_SUN); DaysAdjustment b = DaysAdjustment.ofBusinessDays(4, NO_HOLIDAYS, BDA_FOLLOW_SAT_SUN); DaysAdjustment c = DaysAdjustment.ofBusinessDays(3, WED_THU, BDA_FOLLOW_SAT_SUN); DaysAdjustment d = DaysAdjustment.ofBusinessDays(3, NO_HOLIDAYS, BDA_FOLLOW_WED_THU); assertEquals(a.equals(b), false); assertEquals(a.equals(c), false); assertEquals(a.equals(d), false); }
@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.settlementDateOffset == null && builder.paymentSchedule != null) { builder.settlementDateOffset = DaysAdjustment.ofBusinessDays(3, builder.paymentSchedule.getBusinessDayAdjustment().getCalendar()); } }
public void test_ofBusinessDays2_oneDay() { DaysAdjustment test = DaysAdjustment.ofBusinessDays(1, SAT_SUN); assertEquals(test.getDays(), 1); assertEquals(test.getCalendar(), SAT_SUN); assertEquals(test.getAdjustment(), BDA_NONE); assertEquals(test.toString(), "1 business day using calendar Sat/Sun"); }
public void test_ofBusinessDays2_threeDays() { DaysAdjustment test = DaysAdjustment.ofBusinessDays(3, SAT_SUN); assertEquals(test.getDays(), 3); assertEquals(test.getCalendar(), SAT_SUN); assertEquals(test.getAdjustment(), BDA_NONE); assertEquals(test.toString(), "3 business days using calendar Sat/Sun"); }
public void test_ofBusinessDays3_oneDay() { DaysAdjustment test = DaysAdjustment.ofBusinessDays(1, SAT_SUN, BDA_FOLLOW_WED_THU); assertEquals(test.getDays(), 1); assertEquals(test.getCalendar(), SAT_SUN); assertEquals(test.getAdjustment(), BDA_FOLLOW_WED_THU); assertEquals(test.toString(), "1 business day using calendar Sat/Sun then apply Following using " + "calendar WedThu"); }
public void test_ofBusinessDays3_fourDays() { DaysAdjustment test = DaysAdjustment.ofBusinessDays(4, SAT_SUN, BDA_FOLLOW_WED_THU); assertEquals(test.getDays(), 4); assertEquals(test.getCalendar(), SAT_SUN); assertEquals(test.getAdjustment(), BDA_FOLLOW_WED_THU); assertEquals(test.toString(), "4 business days using calendar Sat/Sun then apply Following using " + "calendar WedThu"); }
public void test_builder_ensureDefaults() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P1M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); assertEquals(test.getPaymentFrequency(), P1M); assertEquals(test.getBusinessDayAdjustment(), Optional.empty()); assertEquals(test.getPaymentDateOffset(), DaysAdjustment.ofBusinessDays(2, GBLO)); assertEquals(test.getPaymentRelativeTo(), PERIOD_END); assertEquals(test.getCompoundingMethod(), NONE); }
public void test_ofBusinessDays2_adjust() { DaysAdjustment test = DaysAdjustment.ofBusinessDays(2, SAT_SUN); LocalDate base = date(2014, 8, 15); // Fri assertEquals(test.adjust(base, REF_DATA), date(2014, 8, 19)); // Tue assertEquals(test.resolve(REF_DATA).adjust(base), date(2014, 8, 19)); // Tue }
public void test_createSchedule_singleAccrualPeriod() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P1M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE_SINGLE, REF_DATA); assertEquals(schedule, ACCRUAL_SCHEDULE_SINGLE); }
public void test_tiee() { assertEquals(FloatingRateName.of("MXN-TIIE").getDefaultTenor(), Tenor.TENOR_13W); assertEquals(FloatingRateName.of("MXN-TIIE").toFloatingRateIndex(), IborIndices.MXN_TIIE_13W); assertEquals(FloatingRateName.of("MXN-TIIE").toFloatingRateIndex(Tenor.TENOR_4W), IborIndices.MXN_TIIE_4W); assertEquals(FloatingRateName.of("MXN-TIIE").toIborIndex(Tenor.TENOR_4W), IborIndices.MXN_TIIE_4W); assertEquals(FloatingRateName.of("MXN-TIIE").toIborIndexFixingOffset(), DaysAdjustment.ofBusinessDays(-1, MXMC)); }
public void test_createSchedule_sameFrequency() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P1M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); assertEquals(schedule, ACCRUAL_SCHEDULE); }
public void test_ofBusinessDays3_adjust() { ImmutableHolidayCalendar cal = ImmutableHolidayCalendar.of(WED_THU, ImmutableList.of(), WEDNESDAY, THURSDAY); ReferenceData refData = ImmutableReferenceData.of(ImmutableMap.of(WED_THU, cal)).combinedWith(REF_DATA); DaysAdjustment test = DaysAdjustment.ofBusinessDays(3, SAT_SUN, BDA_FOLLOW_WED_THU); LocalDate base = date(2014, 8, 15); // Fri assertEquals(test.adjust(base, refData), date(2014, 8, 22)); // Fri (3 days gives Wed, following moves to Fri) assertEquals(test.resolve(refData).adjust(base), date(2014, 8, 22)); // Fri (3 days gives Wed, following moves to Fri) }
public void test_createSchedule_term() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(TERM) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); assertEquals(schedule, ACCRUAL_SCHEDULE_TERM); }
public void test_serialization() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P3M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); assertSerialization(test); }
public void coverage() { ImmutableTermDepositConvention test1 = ImmutableTermDepositConvention.of( "EUR-Deposit", EUR, BDA_MOD_FOLLOW, ACT_360, PLUS_TWO_DAYS); coverImmutableBean(test1); ImmutableTermDepositConvention test2 = ImmutableTermDepositConvention.of( "GBP-Deposit", GBP, BDA_MOD_FOLLOW, ACT_365F, DaysAdjustment.ofBusinessDays(0, GBLO)); coverBeanEquals(test1, test2); coverPrivateConstructor(TermDepositConventions.class); coverPrivateConstructor(StandardTermDepositConventions.class); }
public void coverage() { TermDepositTemplate test1 = TermDepositTemplate.of(DEPOSIT_PERIOD, CONVENTION); coverImmutableBean(test1); TermDepositTemplate test2 = TermDepositTemplate.of(Period.ofMonths(6), ImmutableTermDepositConvention.of( "GBP-Dep", GBP, BDA_MOD_FOLLOW, ACT_365F, DaysAdjustment.ofBusinessDays(2, GBLO))); coverBeanEquals(test1, test2); }
public void test_createSchedule_lastDate_invalidFinalStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .lastRegularEndDate(DATE_04_05) .build(); assertThrows(() -> test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA), ScheduleException.class); }
public void test_equals() { ImmutableFxIndex a = ImmutableFxIndex.builder() .name("GBP-EUR") .currencyPair(CurrencyPair.of(GBP, EUR)) .fixingCalendar(GBLO) .maturityDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); ImmutableFxIndex b = a.toBuilder().name("EUR-GBP").build(); assertEquals(a.equals(b), false); }
public void test_createSchedule_firstAndLastDate_invalidInitialStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .firstRegularStartDate(DATE_01_06) .lastRegularEndDate(DATE_04_07) .build(); assertThrows(() -> test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA), ScheduleException.class); }
public void test_positive_offset() { assertThrows(() -> Bill.builder() .dayCount(DAY_COUNT) .legalEntityId(LEGAL_ENTITY) .notional(NOTIONAL) .securityId(SECURITY_ID) .settlementDateOffset(DaysAdjustment.ofBusinessDays(-11, USNY, BUSINESS_ADJUST)) .yieldConvention(YIELD_CONVENTION).build()); }