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
public class StandardComparisonStrategy extends AbstractComparisonStrategy
ImplementsComparisonStrategycontract with a comparison strategy based onObjects.deepEquals(Object, Object)method, it is also based onComparable.compareTo(Object)when Object areComparablemethod.
-
-
Field Summary
Fields Modifier and Type Field Description private static StandardComparisonStrategyINSTANCE
-
Constructor Summary
Constructors Modifier Constructor Description protectedStandardComparisonStrategy()Creates a new, comparison strategy being based onStandardComparisonStrategyObjects.deepEquals(Object, Object).
-
Method Summary
All Methods Static 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.private voidcheckArgumentIsComparable(java.lang.Object actual)java.lang.Iterable<?>duplicatesFrom(java.lang.Iterable<?> iterable)Returns any duplicate elements from the given collection according toObjects.deepEquals(Object, Object)comparison strategy.static StandardComparisonStrategyinstance()Returns the singleton instance of this class.booleanisGreaterThan(java.lang.Object actual, java.lang.Object other)Returns true if actual is greater than other, false otherwise.booleanisLessThan(java.lang.Object actual, java.lang.Object other)Returns true if actual is less than other, false otherwise.booleanisStandard()Return true if comparison strategy is default/standard, false otherwisebooleaniterableContains(java.lang.Iterable<?> iterable, java.lang.Object value)Returns true if givenIterablecontains given value based onObjects.deepEquals(Object, Object), false otherwise.
If givenIterableis null, return false.voiditerableRemoves(java.lang.Iterable<?> iterable, java.lang.Object value)Look for given value in givenIterableaccording to the implemented comparison strategy, if value is found it is removed from it.
If givenIterableis null, does nothing.voiditerablesRemoveFirst(java.lang.Iterable<?> iterable, java.lang.Object value)Removes the first value initerablethat matches thevalueaccording to the implemented comparison strategy.protected java.util.Set<java.lang.Object>newSetUsingComparisonStrategy()Returns aSethonoring the comparison strategy used.booleanstringContains(java.lang.String string, java.lang.String sequence)Returns true if given string contains given sequence according to the implemented comparison strategy, false otherwise.booleanstringEndsWith(java.lang.String string, java.lang.String suffix)Returns true if string ends with suffix according to the implemented comparison strategy, false otherwise.booleanstringStartsWith(java.lang.String string, java.lang.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 Detail
-
INSTANCE
private static final StandardComparisonStrategy INSTANCE
-
-
Constructor Detail
-
StandardComparisonStrategy
protected StandardComparisonStrategy()
Creates a new, comparison strategy being based onStandardComparisonStrategyObjects.deepEquals(Object, Object).
-
-
Method Detail
-
instance
public static StandardComparisonStrategy instance()
Returns the singleton instance of this class.- Returns:
- the singleton instance of this class.
-
newSetUsingComparisonStrategy
protected java.util.Set<java.lang.Object> newSetUsingComparisonStrategy()
Description copied from class:AbstractComparisonStrategyReturns aSethonoring the comparison strategy used.- Specified by:
newSetUsingComparisonStrategyin classAbstractComparisonStrategy- Returns:
- a
Sethonoring the comparison strategy used.
-
areEqual
public boolean areEqual(java.lang.Object actual, java.lang.Object other)Returnstrueif 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.- 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
-
iterableContains
public boolean iterableContains(java.lang.Iterable<?> iterable, java.lang.Object value)Returns true if givenIterablecontains given value based onObjects.deepEquals(Object, Object), false otherwise.
If givenIterableis null, return false.- Parameters:
iterable- theIterableto search value invalue- the object to look for in givenIterable- Returns:
- true if given
Iterablecontains given value based onObjects.deepEquals(Object, Object), false otherwise.
-
iterableRemoves
public void iterableRemoves(java.lang.Iterable<?> iterable, java.lang.Object value)Look for given value in givenIterableaccording to the implemented comparison strategy, if value is found it is removed from it.
If givenIterableis null, does nothing.- Parameters:
iterable- theIterablewe want remove value fromvalue- object to remove from givenIterable
-
iterablesRemoveFirst
public void iterablesRemoveFirst(java.lang.Iterable<?> iterable, java.lang.Object value)Removes the first value initerablethat matches thevalueaccording to the implemented comparison strategy. If givenIterableis null, does nothing.- Parameters:
iterable- theIterablewe want remove value fromvalue- object to remove from givenIterable
-
duplicatesFrom
public java.lang.Iterable<?> duplicatesFrom(java.lang.Iterable<?> iterable)
Returns any duplicate elements from the given collection according toObjects.deepEquals(Object, Object)comparison strategy.- Specified by:
duplicatesFromin interfaceComparisonStrategy- Overrides:
duplicatesFromin classAbstractComparisonStrategy- Parameters:
iterable- the givenIterablewe want to extract duplicate elements.- Returns:
- an
Iterablecontaining the duplicate elements of the given one. If no duplicates are found, an emptyIterableis returned.
-
stringStartsWith
public boolean stringStartsWith(java.lang.String string, java.lang.String prefix)Description copied from interface:ComparisonStrategyReturns 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
public boolean stringEndsWith(java.lang.String string, java.lang.String suffix)Description copied from interface:ComparisonStrategyReturns 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
public boolean stringContains(java.lang.String string, java.lang.String sequence)Description copied from interface:ComparisonStrategyReturns 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
public boolean isGreaterThan(java.lang.Object actual, java.lang.Object other)Description copied from interface:ComparisonStrategyReturns 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
public boolean isLessThan(java.lang.Object actual, java.lang.Object other)Description copied from interface:ComparisonStrategyReturns true if actual is less than other, false otherwise.- Specified by:
isLessThanin interfaceComparisonStrategy- Overrides:
isLessThanin 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
private void checkArgumentIsComparable(java.lang.Object actual)
-
isStandard
public boolean isStandard()
Description copied from interface:ComparisonStrategyReturn true if comparison strategy is default/standard, false otherwise- Specified by:
isStandardin interfaceComparisonStrategy- Overrides:
isStandardin classAbstractComparisonStrategy- Returns:
- true if comparison strategy is default/standard, false otherwise
-
-