Package org.fest.test
Interface EqualsHashCodeContractTestCase
public interface EqualsHashCodeContractTestCase
Test case that provides the contract for verification that an object's
equals
and hashCode
are
implemented correctly.- Author:
- Alex Ruiz
-
Method Summary
Modifier and TypeMethodDescriptionvoid
If two objects are equal, they must remain equal as long as they are not modified.void
The object must be equal to itself, which it would be at any given instance; unless you intentionally override the equals method to behave otherwise.void
If object of one class is equal to another class object, the other class object must be equal to this class object.void
If the first object is equal to the second object and the second object is equal to the third object; then the first object is equal to the third object.void
If two objects are equal, then they must have the same hash code, however the opposite is NOT true.void
Verifies that the implementation of the methodequals
returnsfalse
if anull
is passed as argument.void
-
Method Details
-
should_not_be_equal_to_Object_of_different_type
void should_not_be_equal_to_Object_of_different_type() -
equals_should_be_consistent
void equals_should_be_consistent()If two objects are equal, they must remain equal as long as they are not modified. -
equals_should_be_reflexive
void equals_should_be_reflexive()The object must be equal to itself, which it would be at any given instance; unless you intentionally override the equals method to behave otherwise. -
equals_should_be_symmetric
void equals_should_be_symmetric()If object of one class is equal to another class object, the other class object must be equal to this class object. In other words, one object can not unilaterally decide whether it is equal to another object; two objects, and consequently the classes to which they belong, must bilaterally decide if they are equal or not. They BOTH must agree. -
equals_should_be_transitive
void equals_should_be_transitive()If the first object is equal to the second object and the second object is equal to the third object; then the first object is equal to the third object. In other words, if two objects agree that they are equal, and follow the symmetry principle, one of them can not decide to have a similar contract with another object of different class. All three must agree and follow symmetry principle for various permutations of these three classes. -
should_maintain_equals_and_hashCode_contract
void should_maintain_equals_and_hashCode_contract()If two objects are equal, then they must have the same hash code, however the opposite is NOT true. -
should_not_be_equal_to_null
void should_not_be_equal_to_null()Verifies that the implementation of the methodequals
returnsfalse
if anull
is passed as argument.
-