public void test_collectIndices_simple() { KnownAmountNotionalSwapPaymentPeriod test = KnownAmountNotionalSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_03_30) .unadjustedStartDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .unadjustedEndDate(DATE_2014_09_30) .notionalAmount(GBP_P50000) .build(); ImmutableSet.Builder<Index> builder = ImmutableSet.builder(); test.collectIndices(builder); assertEquals(builder.build(), ImmutableSet.of()); }
public void test_adjustPaymentDate() { KnownAmountNotionalSwapPaymentPeriod test = KnownAmountNotionalSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_01) .startDate(DATE_2014_03_30) .unadjustedStartDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .unadjustedEndDate(DATE_2014_09_30) .notionalAmount(GBP_P50000) .build(); KnownAmountNotionalSwapPaymentPeriod expected = KnownAmountNotionalSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_03_30) .unadjustedStartDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .unadjustedEndDate(DATE_2014_09_30) .notionalAmount(GBP_P50000) .build(); assertEquals(test.adjustPaymentDate(TemporalAdjusters.ofDateAdjuster(d -> d.plusDays(0))), test); assertEquals(test.adjustPaymentDate(TemporalAdjusters.ofDateAdjuster(d -> d.plusDays(2))), expected); }
.startDate(DATE_02_03) .endDate(DATE_02_05) .unadjustedStartDate(DATE_02_03) .notionalAmount(CurrencyAmount.of(GBP, -1000d)) .build();
/** * Obtains an instance based on a payment, schedule period, notional and FX reset. * * @param payment the payment * @param period the schedule period * @param notional the notional * @param fxResetObservation the FX reset observation * @return the period */ public static KnownAmountNotionalSwapPaymentPeriod of( Payment payment, SchedulePeriod period, CurrencyAmount notional, FxIndexObservation fxResetObservation) { return KnownAmountNotionalSwapPaymentPeriod.builder() .payment(payment) .startDate(period.getStartDate()) .endDate(period.getEndDate()) .unadjustedStartDate(period.getUnadjustedStartDate()) .unadjustedEndDate(period.getUnadjustedEndDate()) .notionalAmount(notional) .fxResetObservation(fxResetObservation) .build(); }
/** * Obtains an instance based on a payment, schedule period and notional. * * @param payment the payment * @param period the schedule period * @param notional the notional * @return the period */ public static KnownAmountNotionalSwapPaymentPeriod of( Payment payment, SchedulePeriod period, CurrencyAmount notional) { return KnownAmountNotionalSwapPaymentPeriod.builder() .payment(payment) .startDate(period.getStartDate()) .endDate(period.getEndDate()) .unadjustedStartDate(period.getUnadjustedStartDate()) .unadjustedEndDate(period.getUnadjustedEndDate()) .notionalAmount(notional) .build(); }
public void coverage() { KnownAmountNotionalSwapPaymentPeriod test = KnownAmountNotionalSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_03_30) .unadjustedStartDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .unadjustedEndDate(DATE_2014_09_30) .notionalAmount(GBP_P50000) .build(); coverImmutableBean(test); KnownAmountNotionalSwapPaymentPeriod test2 = KnownAmountNotionalSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03.negated()) .startDate(DATE_2014_06_30) .endDate(DATE_2014_09_30) .notionalAmount(GBP_P1000) .build(); coverBeanEquals(test, test2); }
public void test_serialization() { KnownAmountNotionalSwapPaymentPeriod test = KnownAmountNotionalSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_03_30) .unadjustedStartDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .unadjustedEndDate(DATE_2014_09_30) .notionalAmount(GBP_P50000) .build(); assertSerialization(test); }