如何以相同顺序在另一个列表中声明一个列表

时间:2018-07-23 09:51:18

标签: java assert assertions hamcrest

我有一个包含最近5个订单日期的列表

List<String> recentFiveOrdersDates = new ArrayList<>();

列表中的值是:

["20/07/2018", "19/07/2018", "18/07/2018", "18/07/2018", "18/07/2018"]

我还有另一个列表,其中包含所有订购日期:

List<String> AllOrderDates = new ArrayList<>();

此列表中的值为:

["20/07/2018", "19/07/2018", "18/07/2018", "18/07/2018", "18/07/2018", "17/07/2018", "17/07/2018", "16/07/2018", "16/07/2018", "12/07/2018", "12/07/2018", "17/05/2018"]

现在,我要声明所有订单列表中的最近五个订单列表。是否可以验证它们的顺序相同?

我使用了{strong> hamcrest 的assertThat()方法,但是我不确定它是否可以以相同的方式工作

assertThat(AllOrderDates, contains(recentFiveOrdersDates.toArray()));

1 个答案:

答案 0 :(得分:4)

contains(T... items)方法已经可以满足订购要求。

如果您想要订购,则可以使用containsInAnyOrder(T... items)