### Question:
MaxImmSubItem extends ProtectedItem { @Override public int hashCode() { int hash = 37; hash = hash * 17 + value; return hash; } MaxImmSubItem( int value ); int getValue(); @Override int hashCode(); @Override boolean equals( Object o ); @Override String toString();  }### Answer:
@Test public void testHashCodeReflexive() throws Exception { assertEquals( maxImmSubItemA.hashCode(), maxImmSubItemA.hashCode() ); }
@Test public void testHashCodeSymmetric() throws Exception { assertEquals( maxImmSubItemA.hashCode(), maxImmSubItemACopy.hashCode() ); assertEquals( maxImmSubItemACopy.hashCode(), maxImmSubItemA.hashCode() ); }
@Test public void testHashCodeTransitive() throws Exception { assertEquals( maxImmSubItemA.hashCode(), maxImmSubItemACopy.hashCode() ); assertEquals( maxImmSubItemACopy.hashCode(), maxImmSubItemB.hashCode() ); assertEquals( maxImmSubItemA.hashCode(), maxImmSubItemB.hashCode() ); }