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_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_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_createSchedule_dualStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE_STUBS, REF_DATA); assertEquals(schedule, ACCRUAL_SCHEDULE_STUBS.toBuilder().frequency(P2M).build()); }
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_createSchedule_term_badFirstRegular() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(TERM) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .firstRegularStartDate(DATE_05_05) .build(); assertThrowsIllegalArg(() -> test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA)); }
public void test_createSchedule_term_badLastRegular() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(TERM) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .lastRegularEndDate(DATE_05_05) .build(); assertThrowsIllegalArg(() -> test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA)); }
public void test_createSchedule_firstDate_invalidInitialStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .firstRegularStartDate(DATE_01_06) .build(); assertThrows(() -> test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA), ScheduleException.class); }
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_createSchedule_fullMerge() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P3M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); Schedule expected = Schedule.builder() .periods(SchedulePeriod.of(DATE_01_06, DATE_04_07, DATE_01_05, DATE_04_05)) .frequency(P3M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_finalStubFullMerge() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE_FINAL_STUB, REF_DATA); Schedule expected = Schedule.builder() .periods( SchedulePeriod.of(DATE_01_06, DATE_03_05, DATE_01_05, DATE_03_05), ACCRUAL3STUB) .frequency(P2M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_partMergeForwards() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); Schedule expected = Schedule.builder() .periods( SchedulePeriod.of(DATE_01_06, DATE_03_05, DATE_01_05, DATE_03_05), SchedulePeriod.of(DATE_03_05, DATE_04_07, DATE_03_05, DATE_04_05)) .frequency(P2M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_firstDate() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P3M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .firstRegularStartDate(DATE_01_06) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); Schedule expected = Schedule.builder() .periods(SchedulePeriod.of(DATE_01_06, DATE_04_07, DATE_01_05, DATE_04_05)) .frequency(P3M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_lastDate() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P3M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .lastRegularEndDate(DATE_04_05) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); Schedule expected = Schedule.builder() .periods(SchedulePeriod.of(DATE_01_06, DATE_04_07, DATE_01_05, DATE_04_05)) .frequency(P3M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_initialStubPartMergeBackwards() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE_INITIAL_STUB, REF_DATA); Schedule expected = Schedule.builder() .periods( ACCRUAL1STUB, SchedulePeriod.of(DATE_02_05, DATE_03_05, DATE_02_05, DATE_03_05), SchedulePeriod.of(DATE_03_05, DATE_05_06, DATE_03_05, DATE_05_05)) .frequency(P2M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_firstAndLastDate() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P3M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .firstRegularStartDate(DATE_01_06) .lastRegularEndDate(DATE_04_07) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); Schedule expected = Schedule.builder() .periods(SchedulePeriod.of(DATE_01_06, DATE_04_07, DATE_01_05, DATE_04_05)) .frequency(P3M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_firstDate_validInitialStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .firstRegularStartDate(DATE_02_05) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); Schedule expected = Schedule.builder() .periods( SchedulePeriod.of(DATE_01_06, DATE_02_05, DATE_01_05, DATE_02_05), SchedulePeriod.of(DATE_02_05, DATE_04_07, DATE_02_05, DATE_04_05)) .frequency(P2M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_lastDate_validFinalStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .lastRegularEndDate(DATE_03_05) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE, REF_DATA); Schedule expected = Schedule.builder() .periods( SchedulePeriod.of(DATE_01_06, DATE_03_05, DATE_01_05, DATE_03_05), SchedulePeriod.of(DATE_03_05, DATE_04_07, DATE_03_05, DATE_04_05)) .frequency(P2M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_lastDate_finalAccrualStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .lastRegularEndDate(DATE_03_05) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE_FINAL_STUB_4PERIODS, REF_DATA); Schedule expected = Schedule.builder() .periods( SchedulePeriod.of(DATE_01_06, DATE_03_05, DATE_01_05, DATE_03_05), SchedulePeriod.of(DATE_03_05, DATE_04_30, DATE_03_05, DATE_04_30)) .frequency(P2M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }
public void test_createSchedule_firstAndLastDate_initialAccrualStub() { PaymentSchedule test = PaymentSchedule.builder() .paymentFrequency(P2M) .paymentDateOffset(DaysAdjustment.ofBusinessDays(2, GBLO)) .firstRegularStartDate(DATE_03_05) .lastRegularEndDate(DATE_05_05) .build(); Schedule schedule = test.createSchedule(ACCRUAL_SCHEDULE_INITIAL_STUB, REF_DATA); Schedule expected = Schedule.builder() .periods( SchedulePeriod.of(DATE_01_08, DATE_03_05, DATE_01_08, DATE_03_05), SchedulePeriod.of(DATE_03_05, DATE_05_06, DATE_03_05, DATE_05_05)) .frequency(P2M) .rollConvention(DAY_5) .build(); assertEquals(schedule, expected); }