final Payment couponConverted = COUPON_DEFINITION.toDerivative(referenceDate, FIXING_TS, curves);
assertEquals(coupon, couponConverted);
// The fixing is not known
final DoubleTimeSeries<ZonedDateTime> fixingTS2 = ImmutableZonedDateTimeDoubleTimeSeries.ofUTC(new ZonedDateTime[] {ScheduleCalculator.getAdjustedDate(FIXING_DATE, -1, CALENDAR) },
new double[] {FIXING_RATE });
final CouponIborGearing coupon2 = new CouponIborGearing(CUR, paymentTime, fundingCurve, ACCRUAL_FACTOR, NOTIONAL, fixingTime, INDEX, fixingPeriodStartTime, fixingPeriodEndTime,
FIXING_ACCRUAL_FACTOR, SPREAD, FACTOR, forwardCurve);
final Payment couponConverted2 = COUPON_DEFINITION.toDerivative(referenceDate, fixingTS2, curves);
assertEquals("CouponIborGearingDefinition: toDerivative", coupon2, couponConverted2);
final Payment couponConverted3 = COUPON_DEFINITION.toDerivative(referenceDate, curves);
assertEquals("CouponIborGearingDefinition: toDerivative", coupon2, couponConverted3);