//------------------------------------------------------------------------- public virtual void test_resolve() { IborFutureOption test = sut(); ResolvedIborFutureOption expected = ResolvedIborFutureOption.builder().securityId(SECURITY_ID).putCall(CALL).strikePrice(STRIKE_PRICE).expiry(EXPIRY_DATE.atTime(EXPIRY_TIME).atZone(EXPIRY_ZONE)).premiumStyle(FutureOptionPremiumStyle.DAILY_MARGIN).underlyingFuture(FUTURE.resolve(REF_DATA)).build(); assertEquals(test.resolve(REF_DATA), expected); }
public virtual void test_builder_expiryNotAfterTradeDate() { assertThrowsIllegalArg(() => ResolvedIborFutureOption.builder().securityId(PRODUCT.SecurityId).putCall(CALL).expiry(PRODUCT.UnderlyingFuture.LastTradeDate.plusDays(1).atStartOfDay(ZoneOffset.UTC)).strikePrice(PRODUCT.StrikePrice).underlyingFuture(PRODUCT.UnderlyingFuture.resolve(REF_DATA)).build()); }