//-------------------------------------------------------------------------
        public virtual void coverage()
        {
            ImmutableXCcyIborIborSwapConvention test = ImmutableXCcyIborIborSwapConvention.of(NAME, EUR3M, USD3M, PLUS_TWO_DAYS);

            coverImmutableBean(test);
            ImmutableXCcyIborIborSwapConvention test2 = ImmutableXCcyIborIborSwapConvention.of("XXX", USD3M, EUR3M, NEXT_SAME_BUS_DAY);

            coverBeanEquals(test, test2);
        }
        public virtual void test_builder()
        {
            ImmutableXCcyIborIborSwapConvention test = ImmutableXCcyIborIborSwapConvention.builder().name(NAME).spreadLeg(EUR3M).flatLeg(USD3M).spotDateOffset(PLUS_ONE_DAY).build();

            assertEquals(test.Name, NAME);
            assertEquals(test.SpreadLeg, EUR3M);
            assertEquals(test.FlatLeg, USD3M);
            assertEquals(test.SpotDateOffset, PLUS_ONE_DAY);
            assertEquals(test.CurrencyPair, EUR_USD);
        }
        public virtual void test_of_spotDateOffset()
        {
            ImmutableXCcyIborIborSwapConvention test = ImmutableXCcyIborIborSwapConvention.of(NAME, EUR3M, USD3M, PLUS_ONE_DAY);

            assertEquals(test.Name, NAME);
            assertEquals(test.SpreadLeg, EUR3M);
            assertEquals(test.FlatLeg, USD3M);
            assertEquals(test.SpotDateOffset, PLUS_ONE_DAY);
            assertEquals(test.CurrencyPair, EUR_USD);
        }
        //-------------------------------------------------------------------------
        public virtual void test_of()
        {
            ImmutableXCcyIborIborSwapConvention test = ImmutableXCcyIborIborSwapConvention.of(NAME, EUR3M, USD3M);

            assertEquals(test.Name, NAME);
            assertEquals(test.SpreadLeg, EUR3M);
            assertEquals(test.FlatLeg, USD3M);
            assertEquals(test.SpotDateOffset, EUR3M.Index.EffectiveDateOffset);
            assertEquals(test.CurrencyPair, EUR_USD);
        }
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            XCcyIborIborSwapTemplate test = XCcyIborIborSwapTemplate.of(Period.ofMonths(3), TENOR_10Y, CONV);

            coverImmutableBean(test);
            DaysAdjustment             bda2  = DaysAdjustment.ofBusinessDays(1, EUTA);
            XCcyIborIborSwapConvention conv2 = ImmutableXCcyIborIborSwapConvention.of("XXX", USD3M, EUR3M, bda2);
            XCcyIborIborSwapTemplate   test2 = XCcyIborIborSwapTemplate.of(Period.ofMonths(2), TENOR_2Y, conv2);

            coverBeanEquals(test, test2);
        }
        public virtual void test_toTrade_dates()
        {
            ImmutableXCcyIborIborSwapConvention @base = ImmutableXCcyIborIborSwapConvention.of(NAME, EUR3M, USD3M, PLUS_TWO_DAYS);
            LocalDate tradeDate = LocalDate.of(2015, 5, 5);
            LocalDate startDate = date(2015, 8, 5);
            LocalDate endDate   = date(2015, 11, 5);
            SwapTrade test      = @base.toTrade(tradeDate, startDate, endDate, BUY, NOTIONAL_2M, NOTIONAL_2M * FX_EUR_USD, 0.25d);
            Swap      expected  = Swap.of(EUR3M.toLeg(startDate, endDate, PAY, NOTIONAL_2M, 0.25d), USD3M.toLeg(startDate, endDate, RECEIVE, NOTIONAL_2M * FX_EUR_USD));

            assertEquals(test.Info.TradeDate, tradeDate);
            assertEquals(test.Product, expected);
        }
        public virtual void test_toTrade_periodTenor()
        {
            ImmutableXCcyIborIborSwapConvention @base = ImmutableXCcyIborIborSwapConvention.of(NAME, EUR3M, USD3M, PLUS_TWO_DAYS);
            LocalDate tradeDate = LocalDate.of(2015, 5, 5);
            LocalDate startDate = date(2015, 8, 7);
            LocalDate endDate   = date(2025, 8, 7);
            SwapTrade test      = @base.createTrade(tradeDate, Period.ofMonths(3), TENOR_10Y, BUY, NOTIONAL_2M, NOTIONAL_2M * FX_EUR_USD, 0.25d, REF_DATA);
            Swap      expected  = Swap.of(EUR3M.toLeg(startDate, endDate, PAY, NOTIONAL_2M, 0.25d), USD3M.toLeg(startDate, endDate, RECEIVE, NOTIONAL_2M * FX_EUR_USD));

            assertEquals(test.Info.TradeDate, tradeDate);
            assertEquals(test.Product, expected);
        }
Exemple #8
0
 public override bool Equals(object obj)
 {
     if (obj == this)
     {
         return(true);
     }
     if (obj != null && obj.GetType() == this.GetType())
     {
         ImmutableXCcyIborIborSwapConvention other = (ImmutableXCcyIborIborSwapConvention)obj;
         return(JodaBeanUtils.equal(name, other.name) && JodaBeanUtils.equal(spreadLeg, other.spreadLeg) && JodaBeanUtils.equal(flatLeg, other.flatLeg) && JodaBeanUtils.equal(spotDateOffset, other.spotDateOffset));
     }
     return(false);
 }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test(dataProvider = "spotLag") public void test_spot_lag(ImmutableXCcyIborIborSwapConvention convention, int lag)
        public virtual void test_spot_lag(ImmutableXCcyIborIborSwapConvention convention, int lag)
        {
            assertEquals(convention.SpotDateOffset.Days, lag);
        }
        public virtual void test_serialization()
        {
            ImmutableXCcyIborIborSwapConvention test = ImmutableXCcyIborIborSwapConvention.of(NAME, EUR3M, USD3M, PLUS_TWO_DAYS);

            assertSerialization(test);
        }