### Question:
DoubleRangeLimitTransform implements ParameterLimitsTransform { @Override public double transformGradient(double x) { ArgChecker.isTrue(x <= _upper && x >= _lower, "parameter out of range"); double t = (x - _mid) / _scale; return 1 / (_scale * (1 - t * t)); } DoubleRangeLimitTransform(double lower, double upper); @Override double inverseTransform(double y); @Override double transform(double x); @Override double inverseTransformGradient(double y); @Override double transformGradient(double x); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testOutOfRange3() { assertThatIllegalArgumentException() .isThrownBy(() -> RANGE_LIMITS.transformGradient(-3)); }
@Test public void testOutOfRange4() { assertThatIllegalArgumentException() .isThrownBy(() -> RANGE_LIMITS.transformGradient(1.01)); }