@Test /** Tests the equal and hash code. */ public void testEqualHash() { assertEquals("CouponIbor: equal-hash", COUPON, COUPON); final CouponFixedCompoundingDefinition other = CouponFixedCompoundingDefinition.from( CURRENCY, PAYMENT_DATE, ACCRUAL_START_DATES[0], ACCRUAL_END_DATES[NB_SUB_PERIOD - 1], PAYMENT_ACCRUAL_FACTOR, NOTIONAL, FIXED_RATE, ACCRUAL_START_DATES, ACCRUAL_END_DATES, PAYMENT_ACCRUAL_FACTORS); assertEquals("CouponFixedCompoundingDefinition: equal-hash", other, COUPON); assertEquals( "CouponFixedCompoundingDefinition: equal-hash", other.hashCode(), COUPON.hashCode()); CouponFixedCompoundingDefinition modified; modified = CouponFixedCompoundingDefinition.from( CURRENCY, PAYMENT_DATE.plusDays(1), ACCRUAL_START_DATES[0], ACCRUAL_END_DATES[NB_SUB_PERIOD - 1], PAYMENT_ACCRUAL_FACTOR, NOTIONAL, FIXED_RATE, ACCRUAL_START_DATES, ACCRUAL_END_DATES, PAYMENT_ACCRUAL_FACTORS); assertFalse("CouponIbor: equal-hash", COUPON.equals(modified)); modified = CouponFixedCompoundingDefinition.from( CURRENCY, PAYMENT_DATE, ACCRUAL_START_DATES[0].plusDays(1), ACCRUAL_END_DATES[NB_SUB_PERIOD - 1], PAYMENT_ACCRUAL_FACTOR, NOTIONAL, FIXED_RATE, ACCRUAL_START_DATES, ACCRUAL_END_DATES, PAYMENT_ACCRUAL_FACTORS); assertFalse("CouponIbor: equal-hash", COUPON.equals(modified)); modified = CouponFixedCompoundingDefinition.from( CURRENCY, PAYMENT_DATE, ACCRUAL_START_DATES[0], ACCRUAL_END_DATES[NB_SUB_PERIOD - 1].plusDays(1), PAYMENT_ACCRUAL_FACTOR, NOTIONAL, FIXED_RATE, ACCRUAL_START_DATES, ACCRUAL_END_DATES, PAYMENT_ACCRUAL_FACTORS); assertFalse("CouponIbor: equal-hash", COUPON.equals(modified)); modified = CouponFixedCompoundingDefinition.from( CURRENCY, PAYMENT_DATE, ACCRUAL_START_DATES[0], ACCRUAL_END_DATES[NB_SUB_PERIOD - 1], PAYMENT_ACCRUAL_FACTOR + 1, NOTIONAL, FIXED_RATE, ACCRUAL_START_DATES, ACCRUAL_END_DATES, PAYMENT_ACCRUAL_FACTORS); assertFalse("CouponIbor: equal-hash", COUPON.equals(modified)); modified = CouponFixedCompoundingDefinition.from( CURRENCY, PAYMENT_DATE, ACCRUAL_START_DATES[0], ACCRUAL_END_DATES[NB_SUB_PERIOD - 1], PAYMENT_ACCRUAL_FACTOR, NOTIONAL + 1, FIXED_RATE, ACCRUAL_START_DATES, ACCRUAL_END_DATES, PAYMENT_ACCRUAL_FACTORS); assertFalse("CouponIbor: equal-hash", COUPON.equals(modified)); modified = CouponFixedCompoundingDefinition.from( CURRENCY, PAYMENT_DATE, ACCRUAL_START_DATES[0], ACCRUAL_END_DATES[NB_SUB_PERIOD - 1], PAYMENT_ACCRUAL_FACTOR, NOTIONAL, FIXED_RATE + 1, ACCRUAL_START_DATES, ACCRUAL_END_DATES, PAYMENT_ACCRUAL_FACTORS); assertFalse("CouponIbor: equal-hash", COUPON.equals(modified)); }