public virtual void test_min_resolve()
        {
            ResolvedCdsIndexTrade test = CdsIndexTrade.builder().product(PRODUCT).info(TRADE_INFO).build().resolve(REF_DATA);

            assertEquals(test.Product, PRODUCT.resolve(REF_DATA));
            assertEquals(test.Info, TRADE_INFO);
            assertFalse(test.UpfrontFee.Present);
        }
        public virtual void test_min_builder()
        {
            CdsIndexTrade test = CdsIndexTrade.builder().product(PRODUCT).info(TRADE_INFO).build();

            assertEquals(test.Product, PRODUCT);
            assertEquals(test.Info, TRADE_INFO);
            assertFalse(test.UpfrontFee.Present);
        }
        //-------------------------------------------------------------------------
        public virtual void coverage_trade()
        {
            CdsIndexCalibrationTrade test1 = CdsIndexCalibrationTrade.of(TRADE, QUOTE1);

            coverImmutableBean(test1);
            CdsIndexCalibrationTrade test2 = CdsIndexCalibrationTrade.of(CdsIndexTrade.builder().product(PRODUCT).info(TRADE_INFO).build(), QUOTE2);

            coverBeanEquals(test1, test2);
        }
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            CdsIndexTrade test1 = sut();

            coverImmutableBean(test1);
            CdsIndex      product = CdsIndex.of(BUY, INDEX_ID, LEGAL_ENTITIES, USD, 1.e9, START_DATE, END_DATE, P6M, SAT_SUN, 0.067);
            CdsIndexTrade test2   = CdsIndexTrade.builder().product(product).info(TradeInfo.empty()).build();

            coverBeanEquals(test1, test2);
        }
 //-------------------------------------------------------------------------
 internal virtual CdsIndexTrade sut()
 {
     return(CdsIndexTrade.builder().product(PRODUCT).upfrontFee(UPFRONT).info(TRADE_INFO).build());
 }