### Question:
JmsProducerInfo extends JmsAbstractResource implements Comparable<JmsProducerInfo> { @Override public int hashCode() { return producerId.hashCode(); } JmsProducerInfo(JmsProducerId producerId);  JmsProducerInfo(JmsProducerId producerId, JmsMessageIDBuilder messageIDBuilder); JmsProducerInfo copy(); void copy(JmsProducerInfo info); @Override JmsProducerId getId(); JmsSessionId getParentId(); JmsDestination getDestination(); void setDestination(JmsDestination destination); boolean isPresettle(); void setPresettle(boolean presettle); JmsMessageIDBuilder getMessageIDBuilder(); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj); @Override int compareTo(JmsProducerInfo other); @Override void visit(JmsResourceVistor vistor);  }### Answer:
@Test public void testHashCode() { JmsProducerInfo first = createPorducerInfo(firstId); JmsProducerInfo second = createPorducerInfo(secondId); assertEquals(first.hashCode(), first.hashCode()); assertEquals(second.hashCode(), second.hashCode()); assertFalse(first.hashCode() == second.hashCode()); }