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 classRecursiveAssertionConfiguration.BuilderBuilder forRecursiveAssertionConfigurationstatic classRecursiveAssertionConfiguration.CollectionAssertionPolicyPossible policies to use regarding collections (including arrays) when recursively asserting over the fields of an object tree.static classRecursiveAssertionConfiguration.MapAssertionPolicyPossible policies to use regarding maps when recursively asserting over the fields of an object tree.static classRecursiveAssertionConfiguration.OptionalAssertionPolicyPossible 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.CollectionAssertionPolicycollectionAssertionPolicyprivate booleanignoreAllNullFieldsprivate booleanignorePrimitiveFieldsprivate RecursiveAssertionIntrospectionStrategyintrospectionStrategyprivate RecursiveAssertionConfiguration.MapAssertionPolicymapAssertionPolicyprivate RecursiveAssertionConfiguration.OptionalAssertionPolicyoptionalAssertionPolicyprivate booleanskipJavaLibraryTypeObjects-
Fields inherited from class org.assertj.core.api.recursive.AbstractRecursiveOperationConfiguration
DEFAULT_DELIMITER
-
-
Constructor Summary
Constructors Modifier Constructor Description privateRecursiveAssertionConfiguration(RecursiveAssertionConfiguration.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RecursiveAssertionConfiguration.Builderbuilder()private voiddescribeCollectionAssertionPolicy(java.lang.StringBuilder description)private voiddescribeIgnoreAllNullFields(java.lang.StringBuilder description)private voiddescribeIgnoredFieldsOfTypes(java.lang.StringBuilder description)private voiddescribeIgnorePrimitiveFields(java.lang.StringBuilder description)private voiddescribeIntrospectionStrategy(java.lang.StringBuilder description)private voiddescribeMapAssertionPolicy(java.lang.StringBuilder description)private voiddescribeOptionalAssertionPolicy(java.lang.StringBuilder description)private voiddescribeSkipJCLTypeObjects(java.lang.StringBuilder description)booleanequals(java.lang.Object o)(package private) RecursiveAssertionConfiguration.CollectionAssertionPolicygetCollectionAssertionPolicy()(package private) RecursiveAssertionIntrospectionStrategygetIntrospectionStrategy()(package private) RecursiveAssertionConfiguration.MapAssertionPolicygetMapAssertionPolicy()(package private) RecursiveAssertionConfiguration.OptionalAssertionPolicygetOptionalAssertionPolicy()inthashCode()voidignoreAllNullFields(boolean ignoreAllNullFields)Makes the recursive assertion to ignore all null fields.voidignoreFields(java.lang.String... fieldsToIgnore)Makes the recursive assertion to ignore the specified fields in the object under test.voidignoreFieldsMatchingRegexes(java.lang.String... regexes)Makes the recursive assertion to ignore the fields matching the specified regexes in the object under test.voidignoreFieldsOfTypes(java.lang.Class<?>... types)Makes the recursive assertion to ignore the object under test fields of the given types.voidignorePrimitiveFields(boolean ignorePrimitiveFields)Choose between running thePredicatein use over the primitive fields of an object in an object tree or not, by default asserting over primitives is enabled.voidsetCollectionAssertionPolicy(RecursiveAssertionConfiguration.CollectionAssertionPolicy collectionAssertionPolicy)Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.CollectionAssertionPolicy.voidsetIntrospectionStrategy(RecursiveAssertionIntrospectionStrategy introspectionStrategy)Defines how objects are introspected in the recursive assertion.voidsetMapAssertionPolicy(RecursiveAssertionConfiguration.MapAssertionPolicy mapAssertionPolicy)Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.MapAssertionPolicy.voidsetOptionalAssertionPolicy(RecursiveAssertionConfiguration.OptionalAssertionPolicy optionalAssertionPolicy)Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.OptionalAssertionPolicy.(package private) booleanshouldIgnoreAllNullFields()(package private) booleanshouldIgnoreContainer()(package private) booleanshouldIgnoreMap()(package private) booleanshouldIgnoreOptional()(package private) booleanshouldIgnorePrimitiveFields()(package private) booleanshouldSkipJavaLibraryTypeObjects()java.lang.StringtoString()-
Methods inherited from class org.assertj.core.api.recursive.AbstractRecursiveOperationConfiguration
asWrapperIfPrimitiveType, describeIgnoredFields, describeIgnoredFieldsRegexes, describeIgnoredTypes, describeRegexes, getIgnoredFields, getIgnoredFieldsRegexes, getIgnoredTypes, getIgnoredTypesRegexes, ignoreFieldsOfTypesMatchingRegexes, 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 thePredicatein 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
primitiveFieldand 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
Predicatecan 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:
ignoreFieldsin 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:
ignoreFieldsMatchingRegexesin 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:
ignoreFieldsOfTypesin 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.OptionalAssertionPolicyto use.
-
setMapAssertionPolicy
public void setMapAssertionPolicy(RecursiveAssertionConfiguration.MapAssertionPolicy mapAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.MapAssertionPolicy.- Parameters:
mapAssertionPolicy- theRecursiveAssertionConfiguration.MapAssertionPolicyto use.
-
setCollectionAssertionPolicy
public void setCollectionAssertionPolicy(RecursiveAssertionConfiguration.CollectionAssertionPolicy collectionAssertionPolicy)
Makes the recursive assertion to use the specifiedRecursiveAssertionConfiguration.CollectionAssertionPolicy.- Parameters:
collectionAssertionPolicy- theRecursiveAssertionConfiguration.CollectionAssertionPolicyto use.
-
setIntrospectionStrategy
public void setIntrospectionStrategy(RecursiveAssertionIntrospectionStrategy introspectionStrategy)
Defines how objects are introspected in the recursive assertion.Default to
DefaultRecursiveAssertionIntrospectionStrategythat introspects all fields (including inherited ones).- Parameters:
introspectionStrategy- theRecursiveAssertionIntrospectionStrategyto use
-
toString
public java.lang.String toString()
- Overrides:
toStringin 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:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
builder
public static RecursiveAssertionConfiguration.Builder builder()
- Returns:
- A
RecursiveAssertionConfiguration.Builderthat will assist the developer in creating a valid instance ofRecursiveAssertionConfiguration.
-
-