Class ShouldBeEqual

java.lang.Object
org.assertj.core.error.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 Details

    • actual

      protected final Object actual
    • expected

      protected final Object expected
    • messageFormatter

      protected final MessageFormatter messageFormatter
    • comparisonStrategy

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

    • ShouldBeEqual

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

    • 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()
    • smartErrorMessage

      protected String smartErrorMessage(Description description, Representation representation)
      Builds and returns an error message from the given description using expected and actual basic representation if their description differ otherwise use defaultDetailedErrorMessage(Description, Representation) to represent them differently.
      Parameters:
      description - the Description used to build the returned error message
      representation - the Representation used to build String representation of object
      Returns:
      the error message from description using expected and actual "smart" representation.
    • indent

      protected String indent(String valueRepresentation)
    • defaultDetailedErrorMessage

      protected String defaultDetailedErrorMessage(Description description, Representation representation)
      Builds and returns an error message from description using detailedExpected() and detailedActual() detailed representation.
      Parameters:
      description - the Description used to build the returned error message
      representation - the Representation used to build String representation of object
      Returns:
      the error message from description using detailedExpected() and detailedActual() detailed representation.
    • detailedActual

      protected String detailedActual()
    • detailedExpected

      protected String detailedExpected()
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object