### Question:
SmileDeltaParameters implements ParameterizedData, ImmutableBean, Serializable { public static SmileDeltaParameters of(double expiry, DoubleArray delta, DoubleArray volatility) { return of(expiry, delta, volatility, createParameterMetadata(expiry, null, delta)); } private  SmileDeltaParameters(
      double expiry,
      DoubleArray delta,
      DoubleArray volatility,
      List<ParameterMetadata> parameterMetadata); static SmileDeltaParameters of(double expiry, DoubleArray delta, DoubleArray volatility); static SmileDeltaParameters of(double expiry, Tenor expiryTenor, DoubleArray delta, DoubleArray volatility); static SmileDeltaParameters of(
      double expiry,
      DoubleArray delta,
      DoubleArray volatility,
      List<ParameterMetadata> parameterMetadata); static SmileDeltaParameters of(
      double expiry,
      double atmVolatility,
      DoubleArray delta,
      DoubleArray riskReversal,
      DoubleArray strangle); static SmileDeltaParameters of(
      double expiry,
      Tenor expiryTenor,
      double atmVolatility,
      DoubleArray delta,
      DoubleArray riskReversal,
      DoubleArray strangle); static SmileDeltaParameters of(
      double expiry,
      double atmVolatility,
      DoubleArray delta,
      DoubleArray riskReversal,
      DoubleArray strangle,
      List<ParameterMetadata> parameterMetadata); @Override int getParameterCount(); @Override double getParameter(int parameterIndex); @Override ParameterMetadata getParameterMetadata(int parameterIndex); @Override SmileDeltaParameters withParameter(int parameterIndex, double newValue); @Override SmileDeltaParameters withPerturbation(ParameterPerturbation perturbation); DoubleArray strike(double forward); Optional<Tenor> getExpiryTenor(); static SmileDeltaParameters.Meta meta(); @Override SmileDeltaParameters.Meta metaBean(); double getExpiry(); DoubleArray getDelta(); DoubleArray getVolatility(); ImmutableList<ParameterMetadata> getParameterMetadata(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testNullDelta() { assertThatIllegalArgumentException() .isThrownBy(() -> SmileDeltaParameters.of(TIME_TO_EXPIRY, ATM, null, RISK_REVERSAL, STRANGLE)); }
@Test public void testRRLength() { assertThatIllegalArgumentException() .isThrownBy(() -> SmileDeltaParameters.of(TIME_TO_EXPIRY, ATM, DELTA, DoubleArray.filled(3), STRANGLE)); }
@Test public void testStrangleLength() { assertThatIllegalArgumentException() .isThrownBy(() -> SmileDeltaParameters.of(TIME_TO_EXPIRY, ATM, DELTA, RISK_REVERSAL, DoubleArray.filled(3))); }