Package org.assertj.core.internal
Class StandardComparisonStrategy
java.lang.Object
org.assertj.core.internal.AbstractComparisonStrategy
org.assertj.core.internal.StandardComparisonStrategy
- All Implemented Interfaces:
ComparisonStrategy
- Direct Known Subclasses:
AtomicReferenceArrayElementComparisonStrategy
,IterableElementComparisonStrategy
,ObjectArrayElementComparisonStrategy
Implements
ComparisonStrategy
contract with a comparison strategy based on
Objects.deepEquals(Object, Object)
method, it is also based on Comparable.compareTo(Object)
when Object
are Comparable
method.-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Creates a new
, comparison strategy being based onStandardComparisonStrategy
Objects.deepEquals(Object, Object)
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returnstrue
if the arguments are deeply equal to each other,false
otherwise.private void
checkArgumentIsComparable
(Object actual) Iterable
<?> duplicatesFrom
(Iterable<?> iterable) Returns any duplicate elements from the given collection according toObjects.deepEquals(Object, Object)
comparison strategy.static StandardComparisonStrategy
instance()
Returns the singleton instance of this class.boolean
isGreaterThan
(Object actual, Object other) Returns true if actual is greater than other, false otherwise.boolean
isLessThan
(Object actual, Object other) Returns true if actual is less than other, false otherwise.boolean
Return true if comparison strategy is default/standard, false otherwiseboolean
iterableContains
(Iterable<?> iterable, Object value) Returns true if givenIterable
contains given value based onObjects.deepEquals(Object, Object)
, false otherwise.
If givenIterable
is null, return false.void
iterableRemoves
(Iterable<?> iterable, Object value) void
iterablesRemoveFirst
(Iterable<?> iterable, Object value) Removes the first value initerable
that matches thevalue
according to the implemented comparison strategy.Returns aSet
honoring the comparison strategy used.boolean
stringContains
(String string, String sequence) Returns true if given string contains given sequence according to the implemented comparison strategy, false otherwise.boolean
stringEndsWith
(String string, String suffix) Returns true if string ends with suffix according to the implemented comparison strategy, false otherwise.boolean
stringStartsWith
(String string, String prefix) Returns true if string starts with prefix according to the implemented comparison strategy, false otherwise.Methods inherited from class org.assertj.core.internal.AbstractComparisonStrategy
arrayContains, isGreaterThanOrEqualTo, isLessThanOrEqualTo
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.assertj.core.internal.ComparisonStrategy
asText
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
StandardComparisonStrategy
protected StandardComparisonStrategy()Creates a new
, comparison strategy being based onStandardComparisonStrategy
Objects.deepEquals(Object, Object)
.
-
-
Method Details
-
instance
Returns the singleton instance of this class.- Returns:
- the singleton instance of this class.
-
newSetUsingComparisonStrategy
Description copied from class:AbstractComparisonStrategy
Returns aSet
honoring the comparison strategy used.- Specified by:
newSetUsingComparisonStrategy
in classAbstractComparisonStrategy
- Returns:
- a
Set
honoring the comparison strategy used.
-
areEqual
Returnstrue
if the arguments are deeply equal to each other,false
otherwise.It mimics the behavior of
Objects.deepEquals(Object, Object)
, but without performing a reference check between the two arguments. According todeepEquals
javadoc, the reference check should be delegated to theequals
method of the first argument, but this is not happening. Bug JDK-8196069 also mentions this gap.- Parameters:
actual
- the object to compare toother
other
- the object to compare toactual
- Returns:
true
if the arguments are deeply equal to each other,false
otherwise- See Also:
-
iterableContains
Returns true if givenIterable
contains given value based onObjects.deepEquals(Object, Object)
, false otherwise.
If givenIterable
is null, return false.- Parameters:
iterable
- theIterable
to search value invalue
- the object to look for in givenIterable
- Returns:
- true if given
Iterable
contains given value based onObjects.deepEquals(Object, Object)
, false otherwise.
-
iterableRemoves
-
iterablesRemoveFirst
Removes the first value initerable
that matches thevalue
according to the implemented comparison strategy. If givenIterable
is null, does nothing. -
duplicatesFrom
Returns any duplicate elements from the given collection according toObjects.deepEquals(Object, Object)
comparison strategy.- Specified by:
duplicatesFrom
in interfaceComparisonStrategy
- Overrides:
duplicatesFrom
in classAbstractComparisonStrategy
- Parameters:
iterable
- the givenIterable
we want to extract duplicate elements.- Returns:
- an
Iterable
containing the duplicate elements of the given one. If no duplicates are found, an emptyIterable
is returned.
-
stringStartsWith
Description copied from interface:ComparisonStrategy
Returns true if string starts with prefix according to the implemented comparison strategy, false otherwise.- Parameters:
string
- the String we want to look starting prefixprefix
- the prefix String to look for at string's start- Returns:
- true if string starts with prefix according to the implemented comparison strategy, false otherwise.
-
stringEndsWith
Description copied from interface:ComparisonStrategy
Returns true if string ends with suffix according to the implemented comparison strategy, false otherwise.- Parameters:
string
- the String we want to look starting suffixsuffix
- the suffix String to look for at string's end- Returns:
- true if string ends with suffix according to the implemented comparison strategy, false otherwise.
-
stringContains
Description copied from interface:ComparisonStrategy
Returns true if given string contains given sequence according to the implemented comparison strategy, false otherwise.- Parameters:
string
- the string to search sequence in (must not be null)sequence
- the String to look for in given string- Returns:
- true if given string contains given sequence according to the implemented comparison strategy, false otherwise.
-
isGreaterThan
Description copied from interface:ComparisonStrategy
Returns true if actual is greater than other, false otherwise.- Parameters:
actual
- the object to compare to otherother
- the object to compare to actual- Returns:
- true if actual is greater than other, false otherwise.
-
isLessThan
Description copied from interface:ComparisonStrategy
Returns true if actual is less than other, false otherwise.- Specified by:
isLessThan
in interfaceComparisonStrategy
- Overrides:
isLessThan
in classAbstractComparisonStrategy
- Parameters:
actual
- the object to compare to otherother
- the object to compare to actual- Returns:
- true if actual is less than other, false otherwise.
-
checkArgumentIsComparable
-
isStandard
public boolean isStandard()Description copied from interface:ComparisonStrategy
Return true if comparison strategy is default/standard, false otherwise- Specified by:
isStandard
in interfaceComparisonStrategy
- Overrides:
isStandard
in classAbstractComparisonStrategy
- Returns:
- true if comparison strategy is default/standard, false otherwise
-