//-------------------------------------------------------------------------
        public virtual void test_resolve()
        {
            IborFuture         test     = sut();
            ResolvedIborFuture expected = ResolvedIborFuture.builder().securityId(SECURITY_ID).currency(USD).notional(NOTIONAL).accrualFactor(ACCRUAL_FACTOR).iborRate(IborRateComputation.of(USD_LIBOR_3M, LAST_TRADE_DATE, REF_DATA)).rounding(ROUNDING).build();

            assertEquals(test.resolve(REF_DATA), expected);
        }
        public virtual void test_builder_defaults()
        {
            ResolvedIborFuture test = ResolvedIborFuture.builder().securityId(SECURITY_ID).currency(GBP).notional(NOTIONAL).iborRate(IborRateComputation.of(GBP_LIBOR_2M, LAST_TRADE_DATE, REF_DATA)).build();

            assertEquals(test.Currency, GBP);
            assertEquals(test.Notional, NOTIONAL);
            assertEquals(test.AccrualFactor, ACCRUAL_FACTOR_2M);
            assertEquals(test.LastTradeDate, LAST_TRADE_DATE);
            assertEquals(test.Index, GBP_LIBOR_2M);
            assertEquals(test.Rounding, Rounding.none());
            assertEquals(test.IborRate, IborRateComputation.of(GBP_LIBOR_2M, LAST_TRADE_DATE, REF_DATA));
        }
        public virtual void test_builder_noCurrency()
        {
            ResolvedIborFuture test = ResolvedIborFuture.builder().securityId(SECURITY_ID).notional(NOTIONAL).iborRate(IborRateComputation.of(GBP_LIBOR_2M, LAST_TRADE_DATE, REF_DATA)).rounding(ROUNDING).build();

            assertEquals(GBP, test.Currency);
        }
 public virtual void test_builder_noObservation()
 {
     assertThrowsIllegalArg(() => ResolvedIborFuture.builder().securityId(SECURITY_ID).notional(NOTIONAL).currency(GBP).rounding(ROUNDING).build());
 }