import com.google.common.collect.Comparators; import org.junit.Assert; import org.junit.Test; import java.util.Arrays; import java.util.Comparator; import java.util.List; 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; } } }