Package nl.jqno.equalsverifier.api
Class MultipleTypeEqualsVerifierApi
java.lang.Object
nl.jqno.equalsverifier.api.MultipleTypeEqualsVerifierApi
- All Implemented Interfaces:
EqualsVerifierApi<Void>
Helps to construct an
EqualsVerifier
test for several types at once with a fluent API.-
Constructor Summary
ConstructorDescriptionMultipleTypeEqualsVerifierApi
(List<Class<?>> types, ConfiguredEqualsVerifier ev) -
Method Summary
Modifier and TypeMethodDescriptionRemoves the given type or types from the list of types to verify.Removes all types matching the given Predicate.report()
Performs the verifications of the contracts forequals
andhashCode
and returns a List ofEqualsVerifierReport
with the results of the verifications.Suppresses warnings given byEqualsVerifier
.Signals thatgetClass
is used in the implementation of theequals
method, instead of aninstanceof
check.void
verify()
Performs the verification of the contracts forequals
andhashCode
and throws anAssertionError
if there is a problem.withFieldnameToGetterConverter
(Function<String, String> converter) Determines how a getter name can be derived from a field name.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.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.withPrefabValues
(Class<S> otherType, S red, S blue) Adds prefabricated values for instance fields of classes that EqualsVerifier cannot instantiate by itself.Signals that all internal caches need to be reset.
-
Constructor Details
-
MultipleTypeEqualsVerifierApi
-
-
Method Details
-
suppress
Suppresses warnings given byEqualsVerifier
. SeeWarning
to see what warnings can be suppressed.- Specified by:
suppress
in interfaceEqualsVerifierApi<Void>
- Parameters:
warnings
- A list of warnings to suppress inEqualsVerifier
.- Returns:
this
, for easy method chaining.
-
withPrefabValues
Adds prefabricated values for instance fields of classes that EqualsVerifier cannot instantiate by itself.- Specified by:
withPrefabValues
in interfaceEqualsVerifierApi<Void>
- Type Parameters:
S
- The class of the prefabricated values.- Parameters:
otherType
- The class of the prefabricated values.red
- An instance ofS
.blue
- Another instance ofS
, not equal tored
.- 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 interfaceEqualsVerifierApi<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 ofS
, 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 interfaceEqualsVerifierApi<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 ofS
, given a value of each of its generic type parameters.- Returns:
this
, for easy method chaining.
-
usingGetClass
Signals thatgetClass
is used in the implementation of theequals
method, instead of aninstanceof
check.- Specified by:
usingGetClass
in interfaceEqualsVerifierApi<Void>
- Returns:
this
, for easy method chaining.- See Also:
-
withFieldnameToGetterConverter
public MultipleTypeEqualsVerifierApi withFieldnameToGetterConverter(Function<String, String> converter) Determines how a getter name can be derived from a field name. The default behavior is to uppercase the field's first letter and prepend 'get'. For instance, a field name 'employee' would correspond to getter name 'getEmployee'. This method can be used if your project has a different naming convention.- Specified by:
withFieldnameToGetterConverter
in interfaceEqualsVerifierApi<Void>
- Parameters:
converter
- A function that converts from field name to getter name.- Returns:
this
, for easy method chaining.
-
withResetCaches
Signals that all internal caches need to be reset. This is useful when the test framework uses multiple ClassLoaders to run tests, causingClass
instances that would normally be equal, to be unequal, because their ClassLoaders don't match.- Specified by:
withResetCaches
in interfaceEqualsVerifierApi<Void>
- Returns:
this
, for easy method chaining.
-
except
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
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 forequals
andhashCode
and throws anAssertionError
if there is a problem.- Throws:
AssertionError
- If one of the contracts is not met, or ifEqualsVerifier
's preconditions do not hold.
-
report
Performs the verifications of the contracts forequals
andhashCode
and returns a List ofEqualsVerifierReport
with the results of the verifications.- Returns:
- A List of
EqualsVerifierReport
that indicates whether the contracts are met and whetherEqualsVerifier
's preconditions hold.
-