Class ShouldBeEqual

  • All Implemented Interfaces:
    AssertionErrorFactory

    public class ShouldBeEqual
    extends Object
    implements AssertionErrorFactory
    Creates an AssertionError indicating that an assertion that verifies that two objects are equal failed.

    The built AssertionError's message differentiates actual and expected description if their string representation are the same (e.g. 42 float and 42 double). It also mentions the comparator in case of a custom comparator is used (instead of equals method).

    Author:
    Alex Ruiz, Yvonne Wang, Joel Costigliola
    • Field Detail

      • EXPECTED_BUT_WAS_MESSAGE_USING_COMPARATOR

        private static final String EXPECTED_BUT_WAS_MESSAGE_USING_COMPARATOR
        See Also:
        Constant Field Values
      • MSG_ARG_TYPES

        private static final Class<?>[] MSG_ARG_TYPES
      • MSG_ARG_TYPES_FOR_ASSERTION_FAILED_ERROR

        private static final Class<?>[] MSG_ARG_TYPES_FOR_ASSERTION_FAILED_ERROR
      • actual

        protected final Object actual
      • expected

        protected final Object expected
      • comparisonStrategy

        protected final org.assertj.core.internal.ComparisonStrategy comparisonStrategy
    • Constructor Detail

      • ShouldBeEqual

        protected ShouldBeEqual​(Object actual,
                                Object expected,
                                org.assertj.core.internal.ComparisonStrategy comparisonStrategy,
                                Representation representation)
    • Method Detail

      • shouldBeEqual

        public static AssertionErrorFactory shouldBeEqual​(Object actual,
                                                          Object expected,
                                                          Representation representation)
        Creates a new ShouldBeEqual.
        Parameters:
        actual - the actual value in the failed assertion.
        expected - the expected value in the failed assertion.
        representation - the Representation used to format values.
        Returns:
        the created AssertionErrorFactory.
      • shouldBeEqual

        public static AssertionErrorFactory shouldBeEqual​(Object actual,
                                                          Object expected,
                                                          org.assertj.core.internal.ComparisonStrategy comparisonStrategy,
                                                          Representation representation)
        Creates a new ShouldBeEqual.
        Parameters:
        actual - the actual value in the failed assertion.
        expected - the expected value in the failed assertion.
        comparisonStrategy - the ComparisonStrategy used to compare actual with expected.
        representation - the Representation used to format values.
        Returns:
        the created AssertionErrorFactory.
      • newAssertionError

        public AssertionError newAssertionError​(Description description,
                                                Representation representation)
        Creates an AssertionError indicating that an assertion that verifies that two objects are equal failed.
        The AssertionError message is built so that it differentiates actual and expected description in case their string representation are the same (like 42 float and 42 double).

        If JUnit 4 is in the classpath and the description is standard (no comparator was used and actual and expected string representation were different), this method will instead create a org.junit.ComparisonFailure that highlights the difference(s) between the expected and actual objects.

        If opentest4j is on the classpath then org.opentest4j.AssertionFailedError would be used.

        AssertionError stack trace won't show AssertJ related elements if Failures is configured to filter them (see Failures.setRemoveAssertJRelatedElementsFromStackTrace(boolean)).
        Specified by:
        newAssertionError in interface AssertionErrorFactory
        Parameters:
        description - the description of the failed assertion.
        representation - the Representation used to format values.
        Returns:
        the created AssertionError.
      • actualAndExpectedHaveSameStringRepresentation

        protected boolean actualAndExpectedHaveSameStringRepresentation()
      • hasMultilineValue

        private boolean hasMultilineValue​(String actualRepresentation,
                                          String expectedRepresentation)
      • messageForMultilineValues

        private String messageForMultilineValues​(String actualRepresentation,
                                                 String expectedRepresentation,
                                                 Representation representation)
      • indent

        protected String indent​(String valueRepresentation)
      • detailedActual

        protected String detailedActual()
      • detailedExpected

        protected String detailedExpected()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object