import com.google.common.collect.Comparators; import org.junit.Assert; import org.junit.Test; import java.util.*; import java.util.function.Function; import java.util.function.ToDoubleFunction; import java.util.function.ToIntFunction; import java.util.function.ToLongFunction; public class ComparatorsUnitTests { @Test public void isInOrderTest(){ List numbers = Arrays.asList(1,2,3,4,4,6,7,8,9,10); boolean isInAscendingOrder = Comparators.isInOrder(numbers, new AscendingOrderComparator()); Assert.assertTrue(isInAscendingOrder); } @Test public void isInStrictOrderTest(){ List numbers = Arrays.asList(1,2,3,4,3,6,7,8,9,10); boolean isInAscendingOrder = Comparators.isInOrder(numbers, new AscendingOrderComparator()); Assert.assertFalse(isInAscendingOrder); } private class AscendingOrderComparator implements Comparator{ @Override public int compare(Integer o1, Integer o2) { return o1.compareTo(o2); } @Override public Comparator reversed() { return null; } @Override public Comparator thenComparing(Comparator other) { return null; } @Override public Comparator thenComparing(Function keyExtractor, Comparator keyComparator) { return null; } @Override public > Comparator thenComparing(Function keyExtractor) { return null; } @Override public Comparator thenComparingInt(ToIntFunction keyExtractor) { return null; } @Override public Comparator thenComparingLong(ToLongFunction keyExtractor) { return null; } @Override public Comparator thenComparingDouble(ToDoubleFunction keyExtractor) { return null; } } }