Class RecursiveAssertionConfiguration
- java.lang.Object
-
- org.assertj.core.api.recursive.AbstractRecursiveOperationConfiguration
-
- org.assertj.core.api.recursive.assertion.RecursiveAssertionConfiguration
-
public class RecursiveAssertionConfiguration extends AbstractRecursiveOperationConfiguration
Configuration for recursive assertions.- Since:
- 3.24.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RecursiveAssertionConfiguration.Builder
Builder forRecursiveAssertionConfiguration
static class
RecursiveAssertionConfiguration.CollectionAssertionPolicy
Possible policies to use regarding collections (including arrays) when recursively asserting over the fields of an object tree.static class
RecursiveAssertionConfiguration.MapAssertionPolicy
Possible policies to use regarding maps when recursively asserting over the fields of an object tree.static class
RecursiveAssertionConfiguration.OptionalAssertionPolicy
Possible policies to use regarding optionals when recursively asserting over the fields of an object tree.-
Nested classes/interfaces inherited from class org.assertj.core.api.recursive.AbstractRecursiveOperationConfiguration
AbstractRecursiveOperationConfiguration.AbstractBuilder<BUILDER_TYPE extends AbstractRecursiveOperationConfiguration.AbstractBuilder<BUILDER_TYPE>>
-
-
Field Summary
Fields Modifier and Type Field Description private RecursiveAssertionConfiguration.CollectionAssertionPolicy
collectionAssertionPolicy
private boolean
ignoreAllNullFields
private boolean
ignorePrimitiveFields
private RecursiveAssertionIntrospectionStrategy
introspectionStrategy
private RecursiveAssertionConfiguration.MapAssertionPolicy
mapAssertionPolicy
private RecursiveAssertionConfiguration.OptionalAssertionPolicy
optionalAssertionPolicy
private boolean
skipJavaLibraryTypeObjects
-
Fields inherited from class org.assertj.core.api.recursive.AbstractRecursiveOperationConfiguration
DEFAULT_DELIMITER
-
-
Constructor Summary
Constructors Modifier Constructor Description private
RecursiveAssertionConfiguration(RecursiveAssertionConfiguration.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RecursiveAssertionConfiguration.Builder
builder()
private void
describeCollectionAssertionPolicy(java.lang.StringBuilder description)
private void
describeIgnoreAllNullFields(java.lang.StringBuilder description)
private void
describeIgnoredFieldsOfTypes(java.lang.StringBuilder description)
private void
describeIgnorePrimitiveFields(java.lang.StringBuilder description)
private void
describeIntrospectionStrategy(java.lang.StringBuilder description)
private void
describeMapAssertionPolicy(java.lang.StringBuilder description)
private void
describeOptionalAssertionPolicy(java.lang.StringBuilder description)
private void
describeSkipJCLTypeObjects(java.lang.StringBuilder description)
boolean
equals(java.lang.Object o)
(package private) RecursiveAssertionConfiguration.CollectionAssertionPolicy
getCollectionAssertionPolicy()
(package private) RecursiveAssertionIntrospectionStrategy
getIntrospectionStrategy()
(package private) RecursiveAssertionConfiguration.MapAssertionPolicy
getMapAssertionPolicy()
(package private) RecursiveAssertionConfiguration.OptionalAssertionPolicy
getOptionalAssertionPolicy()
int
hashCode()
void
ignoreAllNullFields(boolean ignoreAllNullFields)
Makes the recursive assertion to ignore all null fields.void
ignoreFields(java.lang.String... fieldsToIgnore)
Makes the recursive assertion to ignore the specified fields in the object under test.void
ignoreFieldsMatchingRegexes(java.lang.String... regexes)
Makes the recursive assertion to ignore the fields matching the specified regexes in the object under test.void
ignoreFieldsOfTypes(java.lang.Class<?>... types)
Makes the recursive assertion to ignore the object under test fields of the given types.void
ignorePrimitiveFields(boolean ignorePrimitiveFields)
Choose between running thePredicate
in use over the primitive fields of an object in an object tree or not, by default asserting over primitives is enabled.void
setCollectionAssertionPolicy(RecursiveAssertionConfiguration.CollectionAssertionPolicy collectionAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.CollectionAssertionPolicy
.void
setIntrospectionStrategy(RecursiveAssertionIntrospectionStrategy introspectionStrategy)
Defines how objects are introspected in the recursive assertion.void
setMapAssertionPolicy(RecursiveAssertionConfiguration.MapAssertionPolicy mapAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.MapAssertionPolicy
.void
setOptionalAssertionPolicy(RecursiveAssertionConfiguration.OptionalAssertionPolicy optionalAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.OptionalAssertionPolicy
.(package private) boolean
shouldIgnoreAllNullFields()
(package private) boolean
shouldIgnoreContainer()
(package private) boolean
shouldIgnoreMap()
(package private) boolean
shouldIgnoreOptional()
(package private) boolean
shouldIgnorePrimitiveFields()
(package private) boolean
shouldSkipJavaLibraryTypeObjects()
java.lang.String
toString()
-
Methods inherited from class org.assertj.core.api.recursive.AbstractRecursiveOperationConfiguration
asWrapperIfPrimitiveType, describeIgnoredFields, describeIgnoredFieldsRegexes, describeIgnoredTypes, describeRegexes, getIgnoredFields, getIgnoredFieldsRegexes, getIgnoredTypes, join, matchesAnIgnoredField, matchesAnIgnoredFieldRegex
-
-
-
-
Field Detail
-
ignorePrimitiveFields
private boolean ignorePrimitiveFields
-
skipJavaLibraryTypeObjects
private final boolean skipJavaLibraryTypeObjects
-
collectionAssertionPolicy
private RecursiveAssertionConfiguration.CollectionAssertionPolicy collectionAssertionPolicy
-
mapAssertionPolicy
private RecursiveAssertionConfiguration.MapAssertionPolicy mapAssertionPolicy
-
optionalAssertionPolicy
private RecursiveAssertionConfiguration.OptionalAssertionPolicy optionalAssertionPolicy
-
ignoreAllNullFields
private boolean ignoreAllNullFields
-
introspectionStrategy
private RecursiveAssertionIntrospectionStrategy introspectionStrategy
-
-
Constructor Detail
-
RecursiveAssertionConfiguration
private RecursiveAssertionConfiguration(RecursiveAssertionConfiguration.Builder builder)
-
-
Method Detail
-
ignorePrimitiveFields
public void ignorePrimitiveFields(boolean ignorePrimitiveFields)
Choose between running thePredicate
in use over the primitive fields of an object in an object tree or not, by default asserting over primitives is enabled.For example, consider the following class:
class Example { public int primitiveField; public String objectField; }
By default, the assertion being applied recursively is applied to
primitiveField
and toobjectField
. If ignoring primitives it set to true, the assertion will only be applied toobjectField
.If you elect to assert over primitives then it is your own responsibility as a developer to ensure that your
Predicate
can handle (boxed) primitive arguments.
-
ignoreAllNullFields
public void ignoreAllNullFields(boolean ignoreAllNullFields)
Makes the recursive assertion to ignore all null fields.Example: see
RecursiveAssertionAssert.ignoringAllNullFields()
- Parameters:
ignoreAllNullFields
- whether to ignore empty optional fields in the recursive comparison
-
ignoreFields
public void ignoreFields(java.lang.String... fieldsToIgnore)
Makes the recursive assertion to ignore the specified fields in the object under test.When a field is ignored, all its fields are ignored too.
Example: see
RecursiveAssertionAssert.ignoringFields(String...)
- Overrides:
ignoreFields
in classAbstractRecursiveOperationConfiguration
- Parameters:
fieldsToIgnore
- the fields to ignore in the object under test.
-
ignoreFieldsMatchingRegexes
public void ignoreFieldsMatchingRegexes(java.lang.String... regexes)
Makes the recursive assertion to ignore the fields matching the specified regexes in the object under test.When a field is ignored, all its fields are ignored too.
Example: see
RecursiveAssertionAssert.ignoringFieldsMatchingRegexes(String...)
- Overrides:
ignoreFieldsMatchingRegexes
in classAbstractRecursiveOperationConfiguration
- Parameters:
regexes
- regexes used to ignore fields in the assertion.
-
ignoreFieldsOfTypes
public void ignoreFieldsOfTypes(java.lang.Class<?>... types)
Makes the recursive assertion to ignore the object under test fields of the given types. The fields are ignored if their types exactly match one of the ignored types, for example if a field is a subtype of an ignored type it is not ignored.If some object under test fields are null it is not possible to evaluate their types and thus these fields are not ignored.
When a field is ignored, all its fields are ignored too.
Example: see
RecursiveAssertionAssert.ignoringFieldsOfTypes(Class[])
- Overrides:
ignoreFieldsOfTypes
in classAbstractRecursiveOperationConfiguration
- Parameters:
types
- the types we want to ignore in the object under test fields.
-
setOptionalAssertionPolicy
public void setOptionalAssertionPolicy(RecursiveAssertionConfiguration.OptionalAssertionPolicy optionalAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.OptionalAssertionPolicy
.- Parameters:
optionalAssertionPolicy
- theRecursiveAssertionConfiguration.OptionalAssertionPolicy
to use.
-
setMapAssertionPolicy
public void setMapAssertionPolicy(RecursiveAssertionConfiguration.MapAssertionPolicy mapAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.MapAssertionPolicy
.- Parameters:
mapAssertionPolicy
- theRecursiveAssertionConfiguration.MapAssertionPolicy
to use.
-
setCollectionAssertionPolicy
public void setCollectionAssertionPolicy(RecursiveAssertionConfiguration.CollectionAssertionPolicy collectionAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.CollectionAssertionPolicy
.- Parameters:
collectionAssertionPolicy
- theRecursiveAssertionConfiguration.CollectionAssertionPolicy
to use.
-
setIntrospectionStrategy
public void setIntrospectionStrategy(RecursiveAssertionIntrospectionStrategy introspectionStrategy)
Defines how objects are introspected in the recursive assertion.Default to
DefaultRecursiveAssertionIntrospectionStrategy
that introspects all fields (including inherited ones).- Parameters:
introspectionStrategy
- theRecursiveAssertionIntrospectionStrategy
to use
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
shouldIgnorePrimitiveFields
boolean shouldIgnorePrimitiveFields()
-
shouldSkipJavaLibraryTypeObjects
boolean shouldSkipJavaLibraryTypeObjects()
-
getCollectionAssertionPolicy
RecursiveAssertionConfiguration.CollectionAssertionPolicy getCollectionAssertionPolicy()
-
getMapAssertionPolicy
RecursiveAssertionConfiguration.MapAssertionPolicy getMapAssertionPolicy()
-
getOptionalAssertionPolicy
RecursiveAssertionConfiguration.OptionalAssertionPolicy getOptionalAssertionPolicy()
-
getIntrospectionStrategy
RecursiveAssertionIntrospectionStrategy getIntrospectionStrategy()
-
shouldIgnoreMap
boolean shouldIgnoreMap()
-
shouldIgnoreOptional
boolean shouldIgnoreOptional()
-
shouldIgnoreContainer
boolean shouldIgnoreContainer()
-
shouldIgnoreAllNullFields
boolean shouldIgnoreAllNullFields()
-
describeIgnoreAllNullFields
private void describeIgnoreAllNullFields(java.lang.StringBuilder description)
-
describeIgnorePrimitiveFields
private void describeIgnorePrimitiveFields(java.lang.StringBuilder description)
-
describeSkipJCLTypeObjects
private void describeSkipJCLTypeObjects(java.lang.StringBuilder description)
-
describeCollectionAssertionPolicy
private void describeCollectionAssertionPolicy(java.lang.StringBuilder description)
-
describeMapAssertionPolicy
private void describeMapAssertionPolicy(java.lang.StringBuilder description)
-
describeOptionalAssertionPolicy
private void describeOptionalAssertionPolicy(java.lang.StringBuilder description)
-
describeIgnoredFieldsOfTypes
private void describeIgnoredFieldsOfTypes(java.lang.StringBuilder description)
-
describeIntrospectionStrategy
private void describeIntrospectionStrategy(java.lang.StringBuilder description)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
builder
public static RecursiveAssertionConfiguration.Builder builder()
- Returns:
- A
RecursiveAssertionConfiguration.Builder
that will assist the developer in creating a valid instance ofRecursiveAssertionConfiguration
.
-
-