### Question:
OpaqueExtendedResponse extends AbstractExtendedResponse { @Override public int hashCode() { int hash = 37; hash = hash * 17 + super.hashCode(); if ( responseName != null ) { hash = hash * 17 + responseName.hashCode(); } if ( responseValue != null ) { for ( byte b : responseValue ) { hash = hash * 17 + b; } } return hash; } OpaqueExtendedResponse();  OpaqueExtendedResponse( int messageId );  OpaqueExtendedResponse( String responseName );  OpaqueExtendedResponse( int messageId, String responseName ); byte[] getResponseValue(); void setResponseValue( byte[] responseValue ); @Override int hashCode(); @Override boolean equals( Object obj ); @Override String toString();  }### Answer:
@Test public void testHashCodeSameObj() { ExtendedResponse resp = createStub(); assertTrue( resp.hashCode() == resp.hashCode() ); }
@Test public void testHashCodeExactCopy() { ExtendedResponse resp0 = createStub(); ExtendedResponse resp1 = createStub(); assertTrue( resp0.hashCode() == resp1.hashCode() ); }