EquityIndexFutureOption other = new EquityIndexFutureOption(EXPIRY, UNDERLYING, STRIKE, EXERCISE, IS_CALL, POINT_VALUE, REFERENCE_PRICE);
assertEquals(AMERICAN_PUT, other);
assertEquals(AMERICAN_PUT.hashCode(), other.hashCode());
other = new EquityIndexFutureOption(EXPIRY + 0.0001, UNDERLYING, STRIKE, EXERCISE, IS_CALL, POINT_VALUE, REFERENCE_PRICE);
assertFalse(AMERICAN_PUT.equals(other));
other = new EquityIndexFutureOption(EXPIRY, new EquityIndexFuture(EXPIRY, SETTLEMENT, STRIKE, CCY, POINT_VALUE + 1), STRIKE, EXERCISE, IS_CALL, POINT_VALUE, REFERENCE_PRICE);
assertFalse(AMERICAN_PUT.equals(other));
other = new EquityIndexFutureOption(EXPIRY, UNDERLYING, STRIKE + 1, EXERCISE, IS_CALL, POINT_VALUE, REFERENCE_PRICE);
assertFalse(AMERICAN_PUT.equals(other));
other = new EquityIndexFutureOption(EXPIRY, UNDERLYING, STRIKE, ExerciseDecisionType.EUROPEAN, !IS_CALL, POINT_VALUE, REFERENCE_PRICE);
assertFalse(AMERICAN_PUT.equals(other));