### Question:
IborCapletFloorletPeriod implements ImmutableBean, Serializable { public static IborCapletFloorletPeriod.Builder builder() { return new IborCapletFloorletPeriod.Builder(); } private  IborCapletFloorletPeriod(
      Currency currency,
      double notional,
      LocalDate startDate,
      LocalDate endDate,
      LocalDate unadjustedStartDate,
      LocalDate unadjustedEndDate,
      double yearFraction,
      LocalDate paymentDate,
      Double caplet,
      Double floorlet,
      IborRateComputation iborRate); IborIndex getIndex(); LocalDate getFixingDate(); ZonedDateTime getFixingDateTime(); double getStrike(); PutCall getPutCall(); static IborCapletFloorletPeriod.Meta meta(); static IborCapletFloorletPeriod.Builder builder(); @Override IborCapletFloorletPeriod.Meta metaBean(); Currency getCurrency(); double getNotional(); LocalDate getStartDate(); LocalDate getEndDate(); LocalDate getUnadjustedStartDate(); LocalDate getUnadjustedEndDate(); double getYearFraction(); LocalDate getPaymentDate(); OptionalDouble getCaplet(); OptionalDouble getFloorlet(); IborRateComputation getIborRate(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_fail() { assertThatIllegalArgumentException() .isThrownBy(() -> IborCapletFloorletPeriod.builder() .notional(NOTIONAL) .caplet(STRIKE) .build()); assertThatIllegalArgumentException() .isThrownBy(() -> IborCapletFloorletPeriod.builder() .notional(NOTIONAL) .iborRate(RATE_COMP) .build()); assertThatIllegalArgumentException() .isThrownBy(() -> IborCapletFloorletPeriod.builder() .notional(NOTIONAL) .caplet(STRIKE) .floorlet(STRIKE) .iborRate(RATE_COMP) .build()); }