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
ConstructorsConstructorDescriptionMultipleTypeEqualsVerifierApi(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 forequalsandhashCodeand returns a List ofEqualsVerifierReportwith the results of the verifications.Suppresses warnings given byEqualsVerifier.Signals thatgetClassis used in the implementation of theequalsmethod, instead of aninstanceofcheck.voidverify()Performs the verification of the contracts forequalsandhashCodeand throws anAssertionErrorif 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. SeeWarningto see what warnings can be suppressed.- Specified by:
suppressin 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:
withPrefabValuesin 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:
withGenericPrefabValuesin 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:
withGenericPrefabValuesin 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 thatgetClassis used in the implementation of theequalsmethod, instead of aninstanceofcheck.- Specified by:
usingGetClassin 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:
withFieldnameToGetterConverterin 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, causingClassinstances that would normally be equal, to be unequal, because their ClassLoaders don't match.- Specified by:
withResetCachesin 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 forequalsandhashCodeand throws anAssertionErrorif 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 forequalsandhashCodeand returns a List ofEqualsVerifierReportwith the results of the verifications.- Returns:
- A List of
EqualsVerifierReportthat indicates whether the contracts are met and whetherEqualsVerifier's preconditions hold.
-