### Question:
OvernightFutureTrade implements
    SecuritizedProductTrade<OvernightFuture>, ResolvableTrade<ResolvedOvernightFutureTrade>, ImmutableBean, Serializable { public static OvernightFutureTrade.Builder builder() { return new OvernightFutureTrade.Builder(); } OvernightFutureTrade(
      TradeInfo info,
      OvernightFuture product,
      double quantity,
      double price); @Override OvernightFutureTrade withInfo(PortfolioItemInfo info); @Override OvernightFutureTrade withQuantity(double quantity); @Override OvernightFutureTrade withPrice(double price); @Override PortfolioItemSummary summarize(); @Override ResolvedOvernightFutureTrade resolve(ReferenceData refData); static OvernightFutureTrade.Meta meta(); static OvernightFutureTrade.Builder builder(); @Override OvernightFutureTrade.Meta metaBean(); @Override TradeInfo getInfo(); @Override OvernightFuture getProduct(); @Override double getQuantity(); @Override double getPrice(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_badPrice() { assertThatIllegalArgumentException() .isThrownBy(() -> OvernightFutureTrade.builder() .info(TRADE_INFO) .product(PRODUCT) .quantity(QUANTITY) .price(2.1) .build()); }
@Test public void coverage() { OvernightFutureTrade test1 = OvernightFutureTrade.builder() .info(TRADE_INFO) .product(PRODUCT) .quantity(QUANTITY) .price(PRICE) .build(); coverImmutableBean(test1); OvernightFutureTrade test2 = OvernightFutureTrade.builder() .info(TradeInfo.empty()) .product(PRODUCT2) .quantity(QUANTITY2) .price(PRICE2) .build(); coverBeanEquals(test1, test2); }
@Test public void test_serialization() { OvernightFutureTrade test = OvernightFutureTrade.builder() .info(TRADE_INFO) .product(PRODUCT) .quantity(QUANTITY) .price(PRICE) .build(); assertSerialization(test); }