Package org.assertj.core.internal
Class ObjectArrayElementComparisonStrategy<T>
- java.lang.Object
-
- org.assertj.core.internal.AbstractComparisonStrategy
-
- org.assertj.core.internal.StandardComparisonStrategy
-
- org.assertj.core.internal.ObjectArrayElementComparisonStrategy<T>
-
- All Implemented Interfaces:
ComparisonStrategy
public class ObjectArrayElementComparisonStrategy<T> extends StandardComparisonStrategy
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Comparator<? super T>elementComparator
-
Constructor Summary
Constructors Constructor Description ObjectArrayElementComparisonStrategy(java.util.Comparator<? super T> elementComparator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanareEqual(java.lang.Object actual, java.lang.Object other)Returnstrueif the arguments are deeply equal to each other,falseotherwise.java.lang.StringasText()Used in error messages when a custom comparison strategy was used to compare values.private booleancompareElementsOf(T[] actual, T[] other)booleanisStandard()Return true if comparison strategy is default/standard, false otherwisejava.lang.StringtoString()-
Methods inherited from class org.assertj.core.internal.StandardComparisonStrategy
duplicatesFrom, instance, isGreaterThan, isLessThan, iterableContains, iterableRemoves, iterablesRemoveFirst, newSetUsingComparisonStrategy, stringContains, stringEndsWith, stringStartsWith
-
Methods inherited from class org.assertj.core.internal.AbstractComparisonStrategy
arrayContains, isGreaterThanOrEqualTo, isLessThanOrEqualTo
-
-
-
-
Field Detail
-
elementComparator
private final java.util.Comparator<? super T> elementComparator
-
-
Constructor Detail
-
ObjectArrayElementComparisonStrategy
public ObjectArrayElementComparisonStrategy(java.util.Comparator<? super T> elementComparator)
-
-
Method Detail
-
areEqual
public boolean areEqual(java.lang.Object actual, java.lang.Object other)Description copied from class:StandardComparisonStrategyReturnstrueif the arguments are deeply equal to each other,falseotherwise.It mimics the behavior of
Objects.deepEquals(Object, Object), but without performing a reference check between the two arguments. According todeepEqualsjavadoc, the reference check should be delegated to theequalsmethod of the first argument, but this is not happening. Bug JDK-8196069 also mentions this gap.- Specified by:
areEqualin interfaceComparisonStrategy- Overrides:
areEqualin classStandardComparisonStrategy- Parameters:
actual- the object to compare tootherother- the object to compare toactual- Returns:
trueif the arguments are deeply equal to each other,falseotherwise- See Also:
- JDK-8196069
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
asText
public java.lang.String asText()
Description copied from interface:ComparisonStrategyUsed in error messages when a custom comparison strategy was used to compare values.For example
ComparatorBasedComparisonStrategyreturns:"when comparing values using " + toString()- Returns:
- the comparison strategy description used in error messages.
-
isStandard
public boolean isStandard()
Description copied from interface:ComparisonStrategyReturn true if comparison strategy is default/standard, false otherwise- Specified by:
isStandardin interfaceComparisonStrategy- Overrides:
isStandardin classStandardComparisonStrategy- Returns:
- true if comparison strategy is default/standard, false otherwise
-
-