Class DualValue
java.lang.Object
org.assertj.core.api.recursive.comparison.DualValue
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Object(package private) static final Class<?>[](package private) final Object(package private) final FieldLocationprivate final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate intbooleaninthashCode()booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanprivate booleanprivate booleanprivate booleanprivate booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanprivate static booleanisAJsonValueNode(Object value) private static booleanisAnIterable(Object value) private static booleanisAnObjectNode(Object value) private static booleanisAnOrderedCollection(Object value) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanprivate static booleanisJavaType(Object o) private static booleanisPotentialCyclingValue(Object object) (package private) static DualValuerootDualValue(Object actual, Object expected) booleansameValues(DualValue dualValue) If we want to detect potential cycles in the recursive comparison, we need to check if an object has already been visited.toString()
-
Field Details
-
DEFAULT_ORDERED_COLLECTION_TYPES
-
fieldLocation
-
actual
-
expected
-
hashCode
private final int hashCode
-
-
Constructor Details
-
DualValue
-
DualValue
-
-
Method Details
-
rootDualValue
-
computeHashCode
private int computeHashCode() -
equals
-
sameValues
If we want to detect potential cycles in the recursive comparison, we need to check if an object has already been visited.We must ignore the
FieldLocationotherwise we would not find cycles. Let's take for example aPersonclass with a neighbor field. We have a cycle between the person instance and its neighbor instance, ex: Jack has Tim as neighbor and vice versa, when we navigate to Tim we find that its neighbor is Jack, we have already visited it but the location is different, Jack is both the root object and root.neighbor.neighbor (Jack=root, Tim=root.neighbor and Tim.neighbor=Jack)- Parameters:
dualValue- theDualValueto compare- Returns:
- true if dual values references the same values (ignoring the field location)
-
hashCode
public int hashCode() -
toString
-
getDecomposedPath
-
getConcatenatedPath
-
getFieldName
-
isActualJavaType
public boolean isActualJavaType() -
isExpectedJavaType
public boolean isExpectedJavaType() -
hasSomeJavaTypeValue
public boolean hasSomeJavaTypeValue() -
isJavaType
-
isExpectedFieldAnArray
public boolean isExpectedFieldAnArray() -
isActualFieldAnArray
public boolean isActualFieldAnArray() -
isActualFieldAnOptional
public boolean isActualFieldAnOptional() -
isActualFieldAnOptionalInt
public boolean isActualFieldAnOptionalInt() -
isActualFieldAnOptionalLong
public boolean isActualFieldAnOptionalLong() -
isActualFieldAnOptionalDouble
public boolean isActualFieldAnOptionalDouble() -
isActualFieldAnEmptyOptionalOfAnyType
public boolean isActualFieldAnEmptyOptionalOfAnyType() -
isActualFieldAnEmptyOptional
private boolean isActualFieldAnEmptyOptional() -
isActualFieldAnEmptyOptionalInt
private boolean isActualFieldAnEmptyOptionalInt() -
isActualFieldAnEmptyOptionalLong
private boolean isActualFieldAnEmptyOptionalLong() -
isActualFieldAnEmptyOptionalDouble
private boolean isActualFieldAnEmptyOptionalDouble() -
isExpectedFieldAnOptional
public boolean isExpectedFieldAnOptional() -
isExpectedFieldAnAtomicReference
public boolean isExpectedFieldAnAtomicReference() -
isActualFieldAnAtomicReference
public boolean isActualFieldAnAtomicReference() -
isExpectedFieldAnAtomicReferenceArray
public boolean isExpectedFieldAnAtomicReferenceArray() -
isActualFieldAnAtomicReferenceArray
public boolean isActualFieldAnAtomicReferenceArray() -
isExpectedFieldAnAtomicInteger
public boolean isExpectedFieldAnAtomicInteger() -
isActualFieldAnAtomicInteger
public boolean isActualFieldAnAtomicInteger() -
isExpectedFieldAnAtomicIntegerArray
public boolean isExpectedFieldAnAtomicIntegerArray() -
isActualFieldAnAtomicIntegerArray
public boolean isActualFieldAnAtomicIntegerArray() -
isExpectedFieldAnAtomicLong
public boolean isExpectedFieldAnAtomicLong() -
isActualFieldAnAtomicLong
public boolean isActualFieldAnAtomicLong() -
isExpectedFieldAnAtomicLongArray
public boolean isExpectedFieldAnAtomicLongArray() -
isActualFieldAnAtomicLongArray
public boolean isActualFieldAnAtomicLongArray() -
isExpectedFieldAnAtomicBoolean
public boolean isExpectedFieldAnAtomicBoolean() -
isActualFieldAnAtomicBoolean
public boolean isActualFieldAnAtomicBoolean() -
isActualFieldAMap
public boolean isActualFieldAMap() -
isExpectedFieldAMap
public boolean isExpectedFieldAMap() -
isActualFieldASortedMap
public boolean isActualFieldASortedMap() -
isExpectedFieldASortedMap
public boolean isExpectedFieldASortedMap() -
isActualFieldAnOrderedCollection
public boolean isActualFieldAnOrderedCollection() -
isExpectedFieldAnOrderedCollection
public boolean isExpectedFieldAnOrderedCollection() -
isActualFieldAnIterable
public boolean isActualFieldAnIterable() -
isExpectedFieldAnIterable
public boolean isExpectedFieldAnIterable() -
isAnIterable
-
isAJsonValueNode
-
isAnObjectNode
-
isAnOrderedCollection
-
isExpectedAnEnum
public boolean isExpectedAnEnum() -
isActualAnEnum
public boolean isActualAnEnum() -
hasNoContainerValues
public boolean hasNoContainerValues() -
isExpectedAContainer
public boolean isExpectedAContainer() -
hasNoNullValues
public boolean hasNoNullValues() -
hasPotentialCyclingValues
public boolean hasPotentialCyclingValues() -
isPotentialCyclingValue
-