private SchedulePeriod createSchedulePeriod(List<SchedulePeriod> accruals) { SchedulePeriod first = accruals.get(0); if (accruals.size() == 1) { return first; } SchedulePeriod last = accruals.get(accruals.size() - 1); return SchedulePeriod.of( first.getStartDate(), last.getEndDate(), first.getUnadjustedStartDate(), last.getUnadjustedEndDate()); }
public void test_toUnadjusted() { assertEquals(SchedulePeriod.of(JUN_15, SEP_17).toUnadjusted(), SchedulePeriod.of(JUN_15, SEP_17)); assertEquals(SchedulePeriod.of(JUN_16, SEP_17, JUN_15, SEP_17).toUnadjusted(), SchedulePeriod.of(JUN_15, SEP_17)); assertEquals(SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17).toUnadjusted(), SchedulePeriod.of(JUN_16, JUL_17)); }
public void test_of_null() { assertThrowsIllegalArg(() -> SchedulePeriod.of(null, JUL_18, JUL_04, JUL_17)); assertThrowsIllegalArg(() -> SchedulePeriod.of(JUL_05, null, JUL_04, JUL_17)); assertThrowsIllegalArg(() -> SchedulePeriod.of(JUL_05, JUL_18, null, JUL_17)); assertThrowsIllegalArg(() -> SchedulePeriod.of(JUL_05, JUL_18, JUL_04, null)); assertThrowsIllegalArg(() -> SchedulePeriod.of(null, null, null, null)); }
public void coverage() { SchedulePeriod test = SchedulePeriod.of(JUL_05, JUL_18, JUL_04, JUL_17); coverImmutableBean(test); }
public void test_contains() { assertEquals(SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17).contains(JUN_15), false); assertEquals(SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17).contains(JUN_16), true); assertEquals(SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17).contains(JUL_05), true); assertEquals(SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17).contains(JUL_17), true); assertEquals(SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17).contains(JUL_18), false); }
public void test_toAdjusted() { SchedulePeriod test1 = SchedulePeriod.of(JUN_15, SEP_17); assertEquals(test1.toAdjusted(date -> date), test1); assertEquals(test1.toAdjusted(date -> date.equals(JUN_15) ? JUN_16 : date), SchedulePeriod.of(JUN_16, SEP_17, JUN_15, SEP_17)); SchedulePeriod test2 = SchedulePeriod.of(JUN_16, AUG_17); assertEquals(test2.toAdjusted(date -> date.equals(AUG_17) ? AUG_18 : date), SchedulePeriod.of(JUN_16, AUG_18, JUN_16, AUG_17)); }
public void test_subSchedule_1monthIn3Month() { SchedulePeriod test = SchedulePeriod.of(JUN_17, SEP_17); Schedule schedule = test.subSchedule(P1M, RollConventions.DAY_17, StubConvention.NONE, BusinessDayAdjustment.NONE) .createSchedule(REF_DATA); assertEquals(schedule.size(), 3); assertEquals(schedule.getPeriod(0), SchedulePeriod.of(JUN_17, JUL_17)); assertEquals(schedule.getPeriod(1), SchedulePeriod.of(JUL_17, AUG_17)); assertEquals(schedule.getPeriod(2), SchedulePeriod.of(AUG_17, SEP_17)); assertEquals(schedule.getFrequency(), P1M); assertEquals(schedule.getRollConvention(), RollConventions.DAY_17); }
public void test_subSchedule_2monthIn3Month_shortInitial() { SchedulePeriod test = SchedulePeriod.of(JUN_17, SEP_17); Schedule schedule = test.subSchedule(P2M, RollConventions.DAY_17, StubConvention.SHORT_INITIAL, BusinessDayAdjustment.NONE) .createSchedule(REF_DATA); assertEquals(schedule.size(), 2); assertEquals(schedule.getPeriod(0), SchedulePeriod.of(JUN_17, JUL_17)); assertEquals(schedule.getPeriod(1), SchedulePeriod.of(JUL_17, SEP_17)); assertEquals(schedule.getFrequency(), P2M); assertEquals(schedule.getRollConvention(), RollConventions.DAY_17); }
public void test_collectIndices_fxReset() { SchedulePeriod sched = SchedulePeriod.of(DATE_2014_03_30, DATE_2014_09_30); KnownAmountNotionalSwapPaymentPeriod test = KnownAmountNotionalSwapPaymentPeriod.of( PAYMENT_2014_10_03, sched, USD_P50000, FX_RESET); ImmutableSet.Builder<Index> builder = ImmutableSet.builder(); test.collectIndices(builder); assertEquals(builder.build(), ImmutableSet.of(FX_RESET.getIndex())); }
public void test_subSchedule_3monthIn3Month() { SchedulePeriod test = SchedulePeriod.of(JUN_17, SEP_17); Schedule schedule = test.subSchedule(P3M, RollConventions.DAY_17, StubConvention.NONE, BusinessDayAdjustment.NONE) .createSchedule(REF_DATA); assertEquals(schedule.size(), 1); assertEquals(schedule.getPeriod(0), SchedulePeriod.of(JUN_17, SEP_17)); }
public void test_of_all() { SchedulePeriod test = SchedulePeriod.of(JUL_05, JUL_18, JUL_04, JUL_17); assertEquals(test.getStartDate(), JUL_05); assertEquals(test.getEndDate(), JUL_18); assertEquals(test.getUnadjustedStartDate(), JUL_04); assertEquals(test.getUnadjustedEndDate(), JUL_17); }
public void test_yearFraction() { SchedulePeriod test = SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17); Schedule schedule = Schedule.ofTerm(test); assertEquals( test.yearFraction(DayCounts.ACT_360, schedule), DayCounts.ACT_360.yearFraction(JUN_16, JUL_18, schedule), TOLERANCE); }
public void selectDate() { LocalDate date1 = date(2014, 3, 27); LocalDate date2 = date(2014, 6, 27); SchedulePeriod period = SchedulePeriod.of(date1, date2); assertEquals(PaymentRelativeTo.PERIOD_START.selectBaseDate(period), date1); assertEquals(PaymentRelativeTo.PERIOD_END.selectBaseDate(period), date2); }
public void selectDate() { LocalDate date1 = date(2014, 3, 27); LocalDate date2 = date(2014, 6, 27); SchedulePeriod period = SchedulePeriod.of(date1, date2); assertEquals(FixingRelativeTo.PERIOD_START.selectBaseDate(period), date1); assertEquals(FixingRelativeTo.PERIOD_END.selectBaseDate(period), date2); }
public void selectDate() { LocalDate date1 = date(2014, 3, 27); LocalDate date2 = date(2014, 6, 27); SchedulePeriod period = SchedulePeriod.of(date1, date2); assertEquals(FxResetFixingRelativeTo.PERIOD_START.selectBaseDate(period), date1); assertEquals(FxResetFixingRelativeTo.PERIOD_END.selectBaseDate(period), date2); }
public void test_of() { SchedulePeriod sched = SchedulePeriod.of(DATE_2014_03_30, DATE_2014_09_30); KnownAmountBondPaymentPeriod test = KnownAmountBondPaymentPeriod.of(PAYMENT_2014_10_03, sched); assertEquals(test.getPayment(), PAYMENT_2014_10_03); assertEquals(test.getStartDate(), DATE_2014_03_30); assertEquals(test.getUnadjustedStartDate(), DATE_2014_03_30); assertEquals(test.getEndDate(), DATE_2014_09_30); assertEquals(test.getUnadjustedEndDate(), DATE_2014_09_30); assertEquals(test.getPaymentDate(), DATE_2014_10_03); assertEquals(test.getCurrency(), GBP); }
public void test_resolve_beforeStart_weekend() { FxResetCalculation base = FxResetCalculation.builder() .index(EUR_GBP_ECB) .referenceCurrency(GBP) .fixingDateOffset(MINUS_TWO_DAYS) .build(); Optional<FxReset> test = base.resolve(REF_DATA).apply(0, SchedulePeriod.of(DATE_2014_03_31, DATE_2014_06_30)); assertEquals(test, Optional.of(FxReset.of(FxIndexObservation.of(EUR_GBP_ECB, date(2014, 3, 27), REF_DATA), GBP))); }
public void test_resolve_beforeStart_threeDays() { FxResetCalculation base = FxResetCalculation.builder() .index(EUR_GBP_ECB) .referenceCurrency(GBP) .fixingDateOffset(MINUS_THREE_DAYS) .build(); Optional<FxReset> test = base.resolve(REF_DATA).apply(0, SchedulePeriod.of(DATE_2014_03_31, DATE_2014_06_30)); assertEquals(test, Optional.of(FxReset.of(FxIndexObservation.of(EUR_GBP_ECB, date(2014, 3, 26), REF_DATA), GBP))); }
public void test_resolve_beforeEnd_weekend() { FxResetCalculation base = FxResetCalculation.builder() .index(EUR_GBP_ECB) .referenceCurrency(GBP) .fixingDateOffset(MINUS_TWO_DAYS) .fixingRelativeTo(FxResetFixingRelativeTo.PERIOD_END) .build(); Optional<FxReset> test = base.resolve(REF_DATA).apply(0, SchedulePeriod.of(DATE_2014_03_31, DATE_2014_06_30)); assertEquals(test, Optional.of(FxReset.of(FxIndexObservation.of(EUR_GBP_ECB, date(2014, 6, 26), REF_DATA), GBP))); }
public void test_yearFraction_null() { SchedulePeriod test = SchedulePeriod.of(JUN_16, JUL_18, JUN_16, JUL_17); Schedule schedule = Schedule.ofTerm(test); assertThrowsIllegalArg(() -> test.yearFraction(null, schedule)); assertThrowsIllegalArg(() -> test.yearFraction(DayCounts.ACT_360, null)); assertThrowsIllegalArg(() -> test.yearFraction(null, null)); }