Or extends Logic { @Override public int hashCode() { int code = super.hashCode(); return code + 2; } Or();  Or(Constraint... subConstraints);  Or(List<Constraint> asList); @Override String toString(); @Override boolean equals(Object a); @Override int hashCode();  }
@Test public void testHashcode() { Constraint myconstraint1 = createMock(Constraint.class); Constraint myconstraint2 = createMock(Constraint.class); Or myOr = new Or(myconstraint1, myconstraint2); Assert.assertNotSame(0, myOr.hashCode()); }