Class ComparatorBasedComparisonStrategy

    • 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.
      • ComparatorBasedComparisonStrategy

        public ComparatorBasedComparisonStrategy​(Comparator comparator,
                                                 String comparatorDescription)
        Creates a new ComparatorBasedComparisonStrategy specifying the comparison strategy with given comparator and comparator description
        Parameters:
        comparator - the comparison strategy to use.
        comparatorDescription - the comparator description to use in assertion messages.
    • 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
      • iterablesRemoveFirst

        public void iterablesRemoveFirst​(Iterable<?> iterable,
                                         Object value)
        Description copied from interface: ComparisonStrategy
        Removes the first value in iterable that matches the value according to the implemented comparison strategy. If given Iterable is null, does nothing.
        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.
      • getComparator

        public Comparator<?> getComparator()
      • getComparatorDescription

        public String getComparatorDescription()
      • 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 string 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.