### Question:
Outcome implements Serializable { public int hashCode() { return m_key.hashCode() * ( m_completion ? 1 : 2 ); } private  Outcome( final String key, final boolean completion ); boolean isCompletion(); String getMessageKey(); int hashCode(); boolean equals( final Object obj ); static Outcome forName( final String key ); String toString(); static final Outcome STEP_COMPLETE; static final Outcome STEP_ABORT; static final Outcome STEP_CONTINUE; static final Outcome DECISION_ACKNOWLEDGE; static final Outcome DECISION_APPROVE; static final Outcome DECISION_DENY; static final Outcome DECISION_HOLD; static final Outcome DECISION_REASSIGN; }### Answer:
@Test public void testHashCode() { Assertions.assertEquals( "outcome.decision.approve".hashCode(), Outcome.DECISION_APPROVE.hashCode() ); Assertions.assertEquals( "outcome.decision.hold".hashCode() * 2, Outcome.DECISION_HOLD.hashCode() ); Assertions.assertEquals( "outcome.decision.deny".hashCode(), Outcome.DECISION_DENY.hashCode() ); Assertions.assertEquals( "outcome.decision.reassign".hashCode() * 2, Outcome.DECISION_REASSIGN.hashCode() ); }