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 Detail

      • 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 method equals returns false if a null is passed as argument.