@Test(expectedExceptions = IllegalArgumentException.class)
 public void nullMain() {
   new CouponIborRatchet(
       CUR,
       RATCHET_IBOR.getPaymentTime(),
       DISCOUNTING_CURVE_NAME,
       RATCHET_IBOR.getPaymentYearFraction(),
       NOTIONAL,
       RATCHET_IBOR.getFixingTime(),
       RATCHET_IBOR.getFixingPeriodStartTime(),
       RATCHET_IBOR.getFixingPeriodEndTime(),
       RATCHET_IBOR.getFixingYearFraction(),
       FORWARD_CURVE_NAME,
       INDEX_IBOR,
       null,
       FLOOR_COEF,
       CAP_COEF);
 }
 @Test
 public void testEqualHash() {
   assertEquals("Ratchet Ibor Coupon: equal/hash", RATCHET_IBOR, RATCHET_IBOR);
   CouponIborRatchet other =
       new CouponIborRatchet(
           CUR,
           RATCHET_IBOR.getPaymentTime(),
           DISCOUNTING_CURVE_NAME,
           RATCHET_IBOR.getPaymentYearFraction(),
           NOTIONAL,
           RATCHET_IBOR.getFixingTime(),
           RATCHET_IBOR.getFixingPeriodStartTime(),
           RATCHET_IBOR.getFixingPeriodEndTime(),
           RATCHET_IBOR.getFixingYearFraction(),
           FORWARD_CURVE_NAME,
           INDEX_IBOR,
           MAIN_COEF,
           FLOOR_COEF,
           CAP_COEF);
   assertEquals("Ratchet Ibor Coupon: equal/hash", RATCHET_IBOR, other);
   assertEquals("Ratchet Ibor Coupon: equal/hash", RATCHET_IBOR.hashCode(), other.hashCode());
   CouponIborRatchet modified;
   modified =
       new CouponIborRatchet(
           CUR,
           RATCHET_IBOR.getPaymentTime(),
           DISCOUNTING_CURVE_NAME,
           RATCHET_IBOR.getPaymentYearFraction(),
           NOTIONAL,
           RATCHET_IBOR.getFixingTime(),
           RATCHET_IBOR.getFixingPeriodStartTime(),
           RATCHET_IBOR.getFixingPeriodEndTime(),
           RATCHET_IBOR.getFixingYearFraction(),
           FORWARD_CURVE_NAME,
           INDEX_IBOR,
           new double[3],
           FLOOR_COEF,
           CAP_COEF);
   assertFalse("Ratchet Ibor Coupon: equal/hash", RATCHET_IBOR_DEFINITION.equals(modified));
   modified =
       new CouponIborRatchet(
           CUR,
           RATCHET_IBOR.getPaymentTime(),
           DISCOUNTING_CURVE_NAME,
           RATCHET_IBOR.getPaymentYearFraction(),
           NOTIONAL,
           RATCHET_IBOR.getFixingTime(),
           RATCHET_IBOR.getFixingPeriodStartTime(),
           RATCHET_IBOR.getFixingPeriodEndTime(),
           RATCHET_IBOR.getFixingYearFraction(),
           FORWARD_CURVE_NAME,
           INDEX_IBOR,
           MAIN_COEF,
           new double[3],
           CAP_COEF);
   assertFalse("Ratchet Ibor Coupon: equal/hash", RATCHET_IBOR_DEFINITION.equals(modified));
   modified =
       new CouponIborRatchet(
           CUR,
           RATCHET_IBOR.getPaymentTime(),
           DISCOUNTING_CURVE_NAME,
           RATCHET_IBOR.getPaymentYearFraction(),
           NOTIONAL,
           RATCHET_IBOR.getFixingTime(),
           RATCHET_IBOR.getFixingPeriodStartTime(),
           RATCHET_IBOR.getFixingPeriodEndTime(),
           RATCHET_IBOR.getFixingYearFraction(),
           FORWARD_CURVE_NAME,
           INDEX_IBOR,
           MAIN_COEF,
           FLOOR_COEF,
           new double[3]);
   assertFalse("Ratchet Ibor Coupon: equal/hash", RATCHET_IBOR_DEFINITION.equals(modified));
 }
 @Test
 public void getter() {
   assertEquals("Ratchet Ibor Coupon: getter", MAIN_COEF, RATCHET_IBOR.getMainCoefficients());
   assertEquals("Ratchet Ibor Coupon: getter", FLOOR_COEF, RATCHET_IBOR.getFloorCoefficients());
   assertEquals("Ratchet Ibor Coupon: getter", CAP_COEF, RATCHET_IBOR.getCapCoefficients());
 }