public virtual void test_resolve_createNotionalExchange_finalOnly() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).initialExchange(false).intermediateExchange(false).finalExchange(true).build(); ResolvedSwapLeg expected = ResolvedSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).paymentEvents(NotionalExchange.of(CurrencyAmount.of(GBP, 5000d), DATE_2014_10_01)).build(); assertEquals(test.resolve(REF_DATA), expected); }
//------------------------------------------------------------------------- public virtual void test_resolve() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).paymentEvents(NOTIONAL_EXCHANGE).build(); ResolvedSwapLeg expected = ResolvedSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).paymentEvents(NOTIONAL_EXCHANGE).build(); assertEquals(test.resolve(REF_DATA), expected); }
//------------------------------------------------------------------------- public virtual void coverage() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).paymentEvents(NOTIONAL_EXCHANGE).paymentBusinessDayAdjustment(FOLLOWING_GBLO).initialExchange(true).intermediateExchange(true).finalExchange(true).build(); coverImmutableBean(test); RatePeriodSwapLeg test2 = RatePeriodSwapLeg.builder().type(FIXED).payReceive(PAY).paymentPeriods(RPP2).build(); coverBeanEquals(test, test2); }
public virtual void test_collectIndices_fxReset() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1_FXRESET).build(); ImmutableSet.Builder <Index> builder = ImmutableSet.builder(); test.collectIndices(builder); assertEquals(builder.build(), ImmutableSet.of(GBP_LIBOR_3M, GBP_USD_WM)); assertEquals(test.allCurrencies(), ImmutableSet.of(GBP, USD)); }
public virtual void test_resolve_FxResetOmitInitialNotionalExchange() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(PAY).paymentPeriods(RPP1_FXRESET).initialExchange(false).intermediateExchange(true).finalExchange(true).build(); FxResetNotionalExchange finalExchange = FxResetNotionalExchange.of(CurrencyAmount.of(USD, 8000d), DATE_2014_10_01, FxIndexObservation.of(GBP_USD_WM, DATE_2014_06_28, REF_DATA)); ResolvedSwapLeg expected = ResolvedSwapLeg.builder().type(IBOR).payReceive(PAY).paymentPeriods(RPP1_FXRESET).paymentEvents(finalExchange).build(); assertEquals(test.resolve(REF_DATA), expected); }
public virtual void test_resolve_fxResetNotionalExchange() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1_FXRESET, RPP2).initialExchange(true).intermediateExchange(true).finalExchange(true).build(); FxResetNotionalExchange ne1a = FxResetNotionalExchange.of(CurrencyAmount.of(USD, -8000d), DATE_2014_06_30, FxIndexObservation.of(GBP_USD_WM, DATE_2014_06_28, REF_DATA)); FxResetNotionalExchange ne1b = FxResetNotionalExchange.of(CurrencyAmount.of(USD, 8000d), DATE_2014_10_01, FxIndexObservation.of(GBP_USD_WM, DATE_2014_06_28, REF_DATA)); NotionalExchange ne2a = NotionalExchange.of(CurrencyAmount.of(GBP, -6000d), DATE_2014_10_01); NotionalExchange ne2b = NotionalExchange.of(CurrencyAmount.of(GBP, 6000d), DATE_2014_01_02); ResolvedSwapLeg expected = ResolvedSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1_FXRESET, RPP2).paymentEvents(ne1a, ne1b, ne2a, ne2b).build(); assertEquals(test.resolve(REF_DATA), expected); }
public virtual void test_builder_defaults() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).build(); assertEquals(test.PayReceive, RECEIVE); assertEquals(test.StartDate, AdjustableDate.of(DATE_2014_06_30)); assertEquals(test.EndDate, AdjustableDate.of(DATE_2014_09_30)); assertEquals(test.Currency, GBP); assertEquals(test.PaymentPeriods, ImmutableList.of(RPP1)); assertEquals(test.PaymentEvents, ImmutableList.of()); assertEquals(test.InitialExchange, false); assertEquals(test.IntermediateExchange, false); assertEquals(test.FinalExchange, false); assertEquals(test.PaymentBusinessDayAdjustment, BusinessDayAdjustment.NONE); }
//------------------------------------------------------------------------- public virtual void test_builder() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).initialExchange(true).intermediateExchange(true).finalExchange(true).paymentEvents(NOTIONAL_EXCHANGE).paymentBusinessDayAdjustment(FOLLOWING_GBLO).build(); assertEquals(test.Type, IBOR); assertEquals(test.PayReceive, RECEIVE); assertEquals(test.StartDate, AdjustableDate.of(DATE_2014_06_30)); assertEquals(test.EndDate, AdjustableDate.of(DATE_2014_09_30)); assertEquals(test.Currency, GBP); assertEquals(test.PaymentPeriods, ImmutableList.of(RPP1)); assertEquals(test.PaymentEvents, ImmutableList.of(NOTIONAL_EXCHANGE)); assertEquals(test.InitialExchange, true); assertEquals(test.IntermediateExchange, true); assertEquals(test.FinalExchange, true); assertEquals(test.PaymentBusinessDayAdjustment, FOLLOWING_GBLO); }
public virtual void test_serialization() { RatePeriodSwapLeg test = RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP1).paymentEvents(NOTIONAL_EXCHANGE).build(); assertSerialization(test); }
public virtual void test_builder_invalidMixedCurrency() { assertThrowsIllegalArg(() => RatePeriodSwapLeg.builder().type(IBOR).payReceive(RECEIVE).paymentPeriods(RPP3).paymentEvents(NOTIONAL_EXCHANGE).build()); }