//-------------------------------------------------------------------------
        public virtual void test_resolve()
        {
            FxNdfTrade         test     = sut();
            ResolvedFxNdfTrade expected = ResolvedFxNdfTrade.of(TRADE_INFO, PRODUCT.resolve(REF_DATA));

            assertEquals(test.resolve(REF_DATA), expected);
        }
        //-------------------------------------------------------------------------
        public virtual void test_summarize()
        {
            FxNdfTrade           trade    = sut();
            PortfolioItemSummary expected = PortfolioItemSummary.builder().portfolioItemType(PortfolioItemType.TRADE).productType(ProductType.FX_NDF).currencies(Currency.GBP, Currency.USD).description("Rec GBP 100mm @ GBP/USD 1.5 NDF : 19Mar15").build();

            assertEquals(trade.summarize(), expected);
        }
        public virtual void test_builder()
        {
            FxNdfTrade test = sut();

            assertEquals(test.Product, PRODUCT);
            assertEquals(test.Info, TRADE_INFO);
        }
        //-------------------------------------------------------------------------
        public virtual void test_of()
        {
            FxNdfTrade test = FxNdfTrade.of(TRADE_INFO, PRODUCT);

            assertEquals(test.Product, PRODUCT);
            assertEquals(test.Product.CurrencyPair, PRODUCT.CurrencyPair);
            assertEquals(test.Info, TRADE_INFO);
            assertEquals(test.withInfo(TRADE_INFO).Info, TRADE_INFO);
        }
 public override bool Equals(object obj)
 {
     if (obj == this)
     {
         return(true);
     }
     if (obj != null && obj.GetType() == this.GetType())
     {
         FxNdfTrade other = (FxNdfTrade)obj;
         return(JodaBeanUtils.equal(info, other.info) && JodaBeanUtils.equal(product, other.product));
     }
     return(false);
 }
 internal static FxNdfTrade sut2()
 {
     return(FxNdfTrade.builder().product(PRODUCT).build());
 }
 //-------------------------------------------------------------------------
 internal static FxNdfTrade sut()
 {
     return(FxNdfTrade.builder().product(PRODUCT).info(TRADE_INFO).build());
 }