### Question:
JmsTransactionInfo extends JmsAbstractResource implements Comparable<JmsTransactionInfo> { @Override public int hashCode() { return transactionId.hashCode(); } JmsTransactionInfo(JmsSessionId sessionId, JmsTransactionId transactionId); JmsTransactionInfo copy(); @Override JmsTransactionId getId(); JmsSessionId getSessionId(); boolean isInDoubt(); void setInDoubt(boolean inDoubt); @Override int hashCode(); @Override boolean equals(Object obj); @Override int compareTo(JmsTransactionInfo other); @Override String toString(); @Override void visit(JmsResourceVistor visitor);  }### Answer:
@Test public void testHashCode() { JmsTransactionInfo first = new JmsTransactionInfo(firstSessionId, firstTxId); JmsTransactionInfo second = new JmsTransactionInfo(secondSessionId, secondTxId); assertEquals(first.hashCode(), first.hashCode()); assertEquals(second.hashCode(), second.hashCode()); assertFalse(first.hashCode() == second.hashCode()); }