### Question:
DirectIborCapletFloorletFlatVolatilityDefinition implements IborCapletFloorletVolatilityDefinition, ImmutableBean, Serializable { public static DirectIborCapletFloorletFlatVolatilityDefinition of( IborCapletFloorletVolatilitiesName name, IborIndex index, DayCount dayCount, double lambda, CurveInterpolator interpolator) { return of( name, index, dayCount, lambda, interpolator, CurveExtrapolators.FLAT, CurveExtrapolators.FLAT); } private  DirectIborCapletFloorletFlatVolatilityDefinition(
      IborCapletFloorletVolatilitiesName name,
      IborIndex index,
      DayCount dayCount,
      double lambda,
      CurveInterpolator interpolator,
      CurveExtrapolator extrapolatorLeft,
      CurveExtrapolator extrapolatorRight); static DirectIborCapletFloorletFlatVolatilityDefinition of(
      IborCapletFloorletVolatilitiesName name,
      IborIndex index,
      DayCount dayCount,
      double lambda,
      CurveInterpolator interpolator); static DirectIborCapletFloorletFlatVolatilityDefinition of(
      IborCapletFloorletVolatilitiesName name,
      IborIndex index,
      DayCount dayCount,
      double lambda,
      CurveInterpolator interpolator,
      CurveExtrapolator extrapolatorLeft,
      CurveExtrapolator extrapolatorRight); @Override SurfaceMetadata createMetadata(RawOptionData capFloorData); CurveMetadata createCurveMetadata(RawOptionData capFloorData); DoubleMatrix computePenaltyMatrix(DoubleArray expiries); static DirectIborCapletFloorletFlatVolatilityDefinition.Meta meta(); static DirectIborCapletFloorletFlatVolatilityDefinition.Builder builder(); @Override DirectIborCapletFloorletFlatVolatilityDefinition.Meta metaBean(); @Override IborCapletFloorletVolatilitiesName getName(); @Override IborIndex getIndex(); @Override DayCount getDayCount(); double getLambda(); CurveInterpolator getInterpolator(); CurveExtrapolator getExtrapolatorLeft(); CurveExtrapolator getExtrapolatorRight(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { DirectIborCapletFloorletFlatVolatilityDefinition test1 = DirectIborCapletFloorletFlatVolatilityDefinition.of( NAME, USD_LIBOR_3M, ACT_ACT_ISDA, LAMBDA_EXPIRY, TIME_SQUARE); coverImmutableBean(test1); DirectIborCapletFloorletFlatVolatilityDefinition test2 = DirectIborCapletFloorletFlatVolatilityDefinition.of( IborCapletFloorletVolatilitiesName.of("other"), GBP_LIBOR_3M, ACT_365F, 0.01, CurveInterpolators.LINEAR, INTERPOLATOR, FLAT); coverBeanEquals(test1, test2); }
@Test public void test_serialization() { DirectIborCapletFloorletFlatVolatilityDefinition test = DirectIborCapletFloorletFlatVolatilityDefinition.of( NAME, USD_LIBOR_3M, ACT_ACT_ISDA, LAMBDA_EXPIRY, TIME_SQUARE); assertSerialization(test); }