Class MultipleTypeEqualsVerifierApi

java.lang.Object
nl.jqno.equalsverifier.api.MultipleTypeEqualsVerifierApi
All Implemented Interfaces:
EqualsVerifierApi<Void>

public class MultipleTypeEqualsVerifierApi extends Object implements EqualsVerifierApi<Void>
Helps to construct an EqualsVerifier test for several types at once with a fluent API.
  • Constructor Details

  • Method Details

    • suppress

      public MultipleTypeEqualsVerifierApi suppress(Warning... warnings)
      Suppresses warnings given by EqualsVerifier. See Warning to see what warnings can be suppressed.
      Specified by:
      suppress in interface EqualsVerifierApi<Void>
      Parameters:
      warnings - A list of warnings to suppress in EqualsVerifier.
      Returns:
      this, for easy method chaining.
    • withPrefabValues

      public <S> MultipleTypeEqualsVerifierApi withPrefabValues(Class<S> otherType, S red, S blue)
      Adds prefabricated values for instance fields of classes that EqualsVerifier cannot instantiate by itself.
      Specified by:
      withPrefabValues in interface EqualsVerifierApi<Void>
      Type Parameters:
      S - The class of the prefabricated values.
      Parameters:
      otherType - The class of the prefabricated values.
      red - An instance of S.
      blue - Another instance of S, not equal to red.
      Returns:
      this, for easy method chaining.
    • withGenericPrefabValues

      public <S> MultipleTypeEqualsVerifierApi withGenericPrefabValues(Class<S> otherType, Func.Func1<?,S> factory)
      Adds a factory to generate prefabricated values for instance fields of classes with 1 generic type parameter that EqualsVerifier cannot instantiate by itself.
      Specified by:
      withGenericPrefabValues in interface EqualsVerifierApi<Void>
      Type Parameters:
      S - The class of the prefabricated values.
      Parameters:
      otherType - The class of the prefabricated values.
      factory - A factory to generate an instance of S, given a value of its generic type parameter.
      Returns:
      this, for easy method chaining.
    • withGenericPrefabValues

      public <S> MultipleTypeEqualsVerifierApi withGenericPrefabValues(Class<S> otherType, Func.Func2<?,?,S> factory)
      Adds a factory to generate prefabricated values for instance fields of classes with 2 generic type parameters that EqualsVerifier cannot instantiate by itself.
      Specified by:
      withGenericPrefabValues in interface EqualsVerifierApi<Void>
      Type Parameters:
      S - The class of the prefabricated values.
      Parameters:
      otherType - The class of the prefabricated values.
      factory - A factory to generate an instance of S, given a value of each of its generic type parameters.
      Returns:
      this, for easy method chaining.
    • usingGetClass

      public MultipleTypeEqualsVerifierApi usingGetClass()
      Signals that getClass is used in the implementation of the equals method, instead of an instanceof check.
      Specified by:
      usingGetClass in interface EqualsVerifierApi<Void>
      Returns:
      this, for easy method chaining.
      See Also:
    • withResetCaches

      public MultipleTypeEqualsVerifierApi withResetCaches()
      Signals that all internal caches need to be reset. This is useful when the test framework uses multiple ClassLoaders to run tests, causing Class instances that would normally be equal, to be unequal, because their ClassLoaders don't match.
      Specified by:
      withResetCaches in interface EqualsVerifierApi<Void>
      Returns:
      this, for easy method chaining.
    • except

      public MultipleTypeEqualsVerifierApi except(Class<?> type, Class<?>... more)
      Removes the given type or types from the list of types to verify.
      Parameters:
      type - A type to remove from the list of types to verify.
      more - More types to remove from the list of types to verify.
      Returns:
      this, for easy method chaining.
    • except

      public MultipleTypeEqualsVerifierApi except(Predicate<Class<?>> exclusionPredicate)
      Removes all types matching the given Predicate.
      Parameters:
      exclusionPredicate - A Predicate matching classes to remove from the list of types to verify.
      Returns:
      this, for easy method chaining.
    • verify

      public void verify()
      Performs the verification of the contracts for equals and hashCode and throws an AssertionError if there is a problem.
      Throws:
      AssertionError - If one of the contracts is not met, or if EqualsVerifier's preconditions do not hold.
    • report

      public List<EqualsVerifierReport> report()
      Performs the verifications of the contracts for equals and hashCode and returns a List of EqualsVerifierReport with the results of the verifications.
      Returns:
      A List of EqualsVerifierReport that indicates whether the contracts are met and whether EqualsVerifier's preconditions hold.