### Question:
OvernightFuture implements SecuritizedProduct, Resolvable<ResolvedOvernightFuture>, ImmutableBean, Serializable { public static OvernightFuture.Builder builder() { return new OvernightFuture.Builder(); } OvernightFuture(
      SecurityId securityId,
      Currency currency,
      double notional,
      double accrualFactor,
      LocalDate lastTradeDate,
      LocalDate startDate,
      LocalDate endDate,
      OvernightIndex index,
      OvernightAccrualMethod accrualMethod,
      Rounding rounding); @Override ResolvedOvernightFuture resolve(ReferenceData refData); static OvernightFuture.Meta meta(); static OvernightFuture.Builder builder(); @Override OvernightFuture.Meta metaBean(); @Override SecurityId getSecurityId(); @Override Currency getCurrency(); double getNotional(); double getAccrualFactor(); LocalDate getLastTradeDate(); LocalDate getStartDate(); LocalDate getEndDate(); OvernightIndex getIndex(); OvernightAccrualMethod getAccrualMethod(); Rounding getRounding(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_noIndex() { assertThatIllegalArgumentException() .isThrownBy(() -> OvernightFuture.builder() .securityId(SECURITY_ID) .currency(USD) .notional(NOTIONAL) .accrualFactor(ACCRUAL_FACTOR) .startDate(START_DATE) .endDate(END_DATE) .lastTradeDate(LAST_TRADE_DATE) .accrualMethod(OvernightAccrualMethod.AVERAGED_DAILY) .rounding(ROUNDING) .build()); }
@Test public void test_builder_wrongDateOrderDate() { assertThatIllegalArgumentException() .isThrownBy(() -> OvernightFuture.builder() .securityId(SECURITY_ID) .currency(USD) .notional(NOTIONAL) .accrualFactor(ACCRUAL_FACTOR) .startDate(END_DATE) .endDate(START_DATE) .lastTradeDate(LAST_TRADE_DATE) .index(USD_FED_FUND) .accrualMethod(OvernightAccrualMethod.AVERAGED_DAILY) .rounding(ROUNDING) .build()); }