org.fest.util
Class ComparatorBasedComparisonStrategy

java.lang.Object
  extended by org.fest.util.AbstractComparisonStrategy
      extended by org.fest.util.ComparatorBasedComparisonStrategy
All Implemented Interfaces:
ComparisonStrategy

public class ComparatorBasedComparisonStrategy
extends AbstractComparisonStrategy

Implements ComparisonStrategy contract with a comparison strategy based on a Comparator.

Author:
Joel Costigliola

Constructor Summary
ComparatorBasedComparisonStrategy(Comparator comparator)
          Creates a new ComparatorBasedComparisonStrategy specifying the comparison strategy with given comparator.
 
Method Summary
 boolean areEqual(Object actual, Object other)
          Returns true if actual and other are equal according to comparator, false otherwise.
 Iterable<?> duplicatesFrom(Iterable<?> iterable)
          Returns any duplicate elements from the given Iterable according to comparator.
 Comparator<?> getComparator()
           
 boolean isGreaterThan(Object actual, Object other)
          Returns true if actual is greater than other, false otherwise.
 boolean iterableContains(Iterable<?> iterable, Object value)
          Returns true if given Iterable contains given value according to comparator, false otherwise.
 void iterableRemoves(Iterable<?> iterable, Object value)
          Look for given value in given Iterable according to the Comparator, if value is found it is removed from it.
 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 sstring 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.
 String toString()
           
 
Methods inherited from class org.fest.util.AbstractComparisonStrategy
arrayContains, isGreaterThanOrEqualTo, isLessThan, isLessThanOrEqualTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ComparatorBasedComparisonStrategy

public ComparatorBasedComparisonStrategy(Comparator comparator)
Creates a new ComparatorBasedComparisonStrategy specifying the comparison strategy with given comparator.

Parameters:
comparator - the comparison strategy to use.
Method Detail

iterableContains

public boolean iterableContains(Iterable<?> iterable,
                                Object value)
Returns true if given Iterable contains given value according to comparator, false otherwise.
If given Iterable is null or empty, return false.

Parameters:
iterable - the Iterable to search value in
value - the object to look for in given Iterable
Returns:
true if given Iterable contains given value according to comparator, false otherwise.

iterableRemoves

public void iterableRemoves(Iterable<?> iterable,
                            Object value)
Look for given value in given Iterable according to the Comparator, if value is found it is removed from it.
Does nothing if given Iterable is null (meaning no exception thrown).

Parameters:
iterable - the Iterable we want remove value from
value - object to remove from given Iterable

areEqual

public boolean areEqual(Object actual,
                        Object other)
Returns true if actual and other are equal according to comparator, false otherwise.
Handles the cases where one of the parameter is null so that internal comparator does not have too.

Parameters:
actual - the object to compare to other
other - the object to compare to actual
Returns:
true if actual and other are equal according to comparator, false otherwise.

duplicatesFrom

public Iterable<?> duplicatesFrom(Iterable<?> iterable)
Returns any duplicate elements from the given Iterable according to comparator.

Specified by:
duplicatesFrom in interface ComparisonStrategy
Overrides:
duplicatesFrom in class AbstractComparisonStrategy
Parameters:
iterable - the given Iterable we want to extract duplicate elements.
Returns:
an Iterable containing the duplicate elements of the given one. If no duplicates are found, an empty Iterable is returned.

toString

public String toString()
Overrides:
toString in class Object

getComparator

public Comparator<?> getComparator()

stringStartsWith

public boolean stringStartsWith(String string,
                                String prefix)
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 prefix
prefix - 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(String string,
                              String suffix)
Description copied from interface: ComparisonStrategy
Returns true if sstring ends with suffix according to the implemented comparison strategy, false otherwise.

Parameters:
string - the String we want to look starting suffix
suffix - 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(String string,
                              String sequence)
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

public boolean isGreaterThan(Object actual,
                             Object other)
Description copied from interface: ComparisonStrategy
Returns true if actual is greater than other, false otherwise.

Parameters:
actual - the object to compare to other
other - the object to compare to actual
Returns:
true if actual is greater than other, false otherwise.


Copyright © 2007-2012 FEST (Fixtures for Easy Software Testing). All Rights Reserved.