Java AssertJ:如果列表按相反顺序或降序排序,则断言
我正在使用AssertJ进行测试,我注意到有一种方法可以检查Java AssertJ:如果列表按相反顺序或降序排序,则断言,java,list,sorting,assertj,Java,List,Sorting,Assertj,我正在使用AssertJ进行测试,我注意到有一种方法可以检查列表是否已排序: public static <T> void sorted(final List<T> actual) { try { assertThat(actual).isSorted(); } catch (AssertionError e) { LOGGER.error(e.getMessage(), e); throw e; }
列表
是否已排序:
public static <T> void sorted(final List<T> actual) {
try {
assertThat(actual).isSorted();
} catch (AssertionError e) {
LOGGER.error(e.getMessage(), e);
throw e;
}
}
对。还有一种方法需要 您需要将泛型类型参数更改为
,即具有自然顺序的类型。然后,Comparator.reverseOrder()
可以说,它应该是其自然顺序的反向。如果没有该约束,您将尝试反转某些未知/未指定的顺序,这将导致编译器错误
public static <T extends Comparable<T>> void sorted(final List<T> actual) {
try {
assertThat(actual).isSortedAccordingTo(Comparator.reverseOrder());
} catch (AssertionError e) {
LOGGER.error(e.getMessage(), e);
throw e;
}
}
已排序的公共静态无效(最终列表实际){
试一试{
断言(实际).IsSortedAccording(Comparator.reverseOrder());
}捕获(断言错误){
LOGGER.error(e.getMessage(),e);
投掷e;
}
}
public static <T extends Comparable<T>> void sorted(final List<T> actual) {
try {
assertThat(actual).isSortedAccordingTo(Comparator.reverseOrder());
} catch (AssertionError e) {
LOGGER.error(e.getMessage(), e);
throw e;
}
}