Class RecursiveAssertionDriver
- java.lang.Object
-
- org.assertj.core.api.recursive.assertion.RecursiveAssertionDriver
-
public class RecursiveAssertionDriver extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private RecursiveAssertionConfiguration
configuration
private java.util.List<FieldLocation>
fieldsFailingTheAssertion
private static java.lang.String
INDEX_FORMAT
private static java.lang.String
KEY_FORMAT
private static java.lang.String
NULL
private static java.lang.String
VALUE_FORMAT
private java.util.Set<java.lang.String>
visitedNodeIds
-
Constructor Summary
Constructors Constructor Description RecursiveAssertionDriver(RecursiveAssertionConfiguration configuration)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
assertionFails(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node)
java.util.List<FieldLocation>
assertOverObjectGraph(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object graphNode)
private void
assertRecursively(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
private void
doRecursionForSpecialTypes(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
private void
evaluateAssertion(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, FieldLocation fieldLocation)
private void
evaluateFieldsOfCurrentNodeRecursively(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, FieldLocation fieldLocation)
private static java.lang.String
identityToString(java.lang.Object object)
private boolean
isArray(java.lang.Class<?> nodeType)
private boolean
isCollection(java.lang.Class<?> nodeType)
private boolean
isContainer(java.lang.Class<?> nodeType)
private boolean
isMap(java.lang.Class<?> nodeType)
private boolean
isNullWhichAreIgnored(java.lang.Object node)
private boolean
isPrimitiveWhichAreIgnored(java.lang.Class<?> nodeType)
private boolean
isRootObject(FieldLocation fieldLocation)
private boolean
isTypeRequiringSpecificHandling(java.lang.Class<?> nodeType)
private boolean
markNodeAsVisited(java.lang.Object node)
private boolean
nodeIsJavaTypeToIgnore(java.lang.Object node)
private boolean
nodeMustBeIgnored(java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
private void
recurseIntoArray(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
private void
recurseIntoCollection(java.util.function.Predicate<java.lang.Object> predicate, java.util.Collection<?> collection, FieldLocation fieldLocation)
private void
recurseIntoFieldsOfCurrentNode(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
private void
recurseIntoMap(java.util.function.Predicate<java.lang.Object> predicate, java.util.Map<?,?> node, FieldLocation fieldLocation)
private void
recurseIntoMapElement(java.util.function.Predicate<java.lang.Object> predicate, FieldLocation fieldLocation, java.lang.Object nextNode, java.lang.String msgFormat)
private void
recurseIntoMapKeys(java.util.function.Predicate<java.lang.Object> predicate, java.util.Map<?,?> currentNode, FieldLocation fieldLocation)
private void
recurseIntoMapValues(java.util.function.Predicate<java.lang.Object> predicate, java.util.Map<?,?> currentNode, FieldLocation fieldLocation)
private void
recurseIntoOptional(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, FieldLocation fieldLocation)
void
reset()
private static java.lang.Class<?>
safeGetClass(java.lang.Object object)
private boolean
shouldEvaluateAssertion(java.lang.Class<?> nodeType)
private boolean
shouldRecurseIntoNode(java.lang.Object node)
private boolean
shouldRecurseOverSpecialTypes(java.lang.Class<?> nodeType)
-
-
-
Field Detail
-
NULL
private static final java.lang.String NULL
- See Also:
- Constant Field Values
-
INDEX_FORMAT
private static final java.lang.String INDEX_FORMAT
- See Also:
- Constant Field Values
-
KEY_FORMAT
private static final java.lang.String KEY_FORMAT
- See Also:
- Constant Field Values
-
VALUE_FORMAT
private static final java.lang.String VALUE_FORMAT
- See Also:
- Constant Field Values
-
visitedNodeIds
private final java.util.Set<java.lang.String> visitedNodeIds
-
fieldsFailingTheAssertion
private final java.util.List<FieldLocation> fieldsFailingTheAssertion
-
configuration
private final RecursiveAssertionConfiguration configuration
-
-
Constructor Detail
-
RecursiveAssertionDriver
public RecursiveAssertionDriver(RecursiveAssertionConfiguration configuration)
-
-
Method Detail
-
assertOverObjectGraph
public java.util.List<FieldLocation> assertOverObjectGraph(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object graphNode)
-
reset
public void reset()
-
assertRecursively
private void assertRecursively(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
-
nodeMustBeIgnored
private boolean nodeMustBeIgnored(java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
-
isRootObject
private boolean isRootObject(FieldLocation fieldLocation)
-
isNullWhichAreIgnored
private boolean isNullWhichAreIgnored(java.lang.Object node)
-
isPrimitiveWhichAreIgnored
private boolean isPrimitiveWhichAreIgnored(java.lang.Class<?> nodeType)
-
evaluateAssertion
private void evaluateAssertion(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, FieldLocation fieldLocation)
-
assertionFails
private boolean assertionFails(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node)
-
shouldEvaluateAssertion
private boolean shouldEvaluateAssertion(java.lang.Class<?> nodeType)
-
isContainer
private boolean isContainer(java.lang.Class<?> nodeType)
-
recurseIntoFieldsOfCurrentNode
private void recurseIntoFieldsOfCurrentNode(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
-
isTypeRequiringSpecificHandling
private boolean isTypeRequiringSpecificHandling(java.lang.Class<?> nodeType)
-
shouldRecurseOverSpecialTypes
private boolean shouldRecurseOverSpecialTypes(java.lang.Class<?> nodeType)
-
doRecursionForSpecialTypes
private void doRecursionForSpecialTypes(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
-
recurseIntoCollection
private void recurseIntoCollection(java.util.function.Predicate<java.lang.Object> predicate, java.util.Collection<?> collection, FieldLocation fieldLocation)
-
recurseIntoArray
private void recurseIntoArray(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, java.lang.Class<?> nodeType, FieldLocation fieldLocation)
-
recurseIntoOptional
private void recurseIntoOptional(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, FieldLocation fieldLocation)
-
recurseIntoMap
private void recurseIntoMap(java.util.function.Predicate<java.lang.Object> predicate, java.util.Map<?,?> node, FieldLocation fieldLocation)
-
recurseIntoMapValues
private void recurseIntoMapValues(java.util.function.Predicate<java.lang.Object> predicate, java.util.Map<?,?> currentNode, FieldLocation fieldLocation)
-
recurseIntoMapKeys
private void recurseIntoMapKeys(java.util.function.Predicate<java.lang.Object> predicate, java.util.Map<?,?> currentNode, FieldLocation fieldLocation)
-
recurseIntoMapElement
private void recurseIntoMapElement(java.util.function.Predicate<java.lang.Object> predicate, FieldLocation fieldLocation, java.lang.Object nextNode, java.lang.String msgFormat)
-
safeGetClass
private static java.lang.Class<?> safeGetClass(java.lang.Object object)
-
shouldRecurseIntoNode
private boolean shouldRecurseIntoNode(java.lang.Object node)
-
nodeIsJavaTypeToIgnore
private boolean nodeIsJavaTypeToIgnore(java.lang.Object node)
-
evaluateFieldsOfCurrentNodeRecursively
private void evaluateFieldsOfCurrentNodeRecursively(java.util.function.Predicate<java.lang.Object> predicate, java.lang.Object node, FieldLocation fieldLocation)
-
markNodeAsVisited
private boolean markNodeAsVisited(java.lang.Object node)
-
identityToString
private static java.lang.String identityToString(java.lang.Object object)
-
isCollection
private boolean isCollection(java.lang.Class<?> nodeType)
-
isArray
private boolean isArray(java.lang.Class<?> nodeType)
-
isMap
private boolean isMap(java.lang.Class<?> nodeType)
-
-