public void test_builder_defaultDates() { KnownAmountNotionalSwapPaymentPeriod test = KnownAmountNotionalSwapPaymentPeriod.builder() .payment(PAYMENT_2014_10_03) .startDate(DATE_2014_03_30) .endDate(DATE_2014_10_01) .notionalAmount(USD_P50000) .fxResetObservation(FX_RESET) .build(); 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_10_01); assertEquals(test.getUnadjustedEndDate(), DATE_2014_10_01); assertEquals(test.getPaymentDate(), DATE_2014_10_03); assertEquals(test.getCurrency(), GBP); assertEquals(test.getNotionalAmount(), USD_P50000); assertEquals(test.getFxResetObservation(), Optional.of(FX_RESET)); }
.endDate(DATE_2014_10_01) .notionalAmount(CurrencyAmount.of(GBP, 1000d)) .fxResetObservation(FX_RESET) .build()); assertThrowsIllegalArg(() -> KnownAmountNotionalSwapPaymentPeriod.builder() .endDate(DATE_2014_10_01) .notionalAmount(CurrencyAmount.of(EUR, 1000d)) .fxResetObservation(FX_RESET) .build()); assertThrowsIllegalArg(() -> KnownAmountNotionalSwapPaymentPeriod.builder() .endDate(DATE_2014_10_01) .notionalAmount(CurrencyAmount.of(USD, 1000d)) .fxResetObservation(FX_RESET) .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(); }