使用hamcrest收集平等

时间:2014-08-27 12:25:43

标签: java unit-testing junit hamcrest

我想使用hamcrest声明两个集合的相等性。

我知道有contains匹配器,但我希望它忽略排序。

{1,2}对于我的需要等于{2,1}。

什么是正确的语法?

2 个答案:

答案 0 :(得分:2)

使用containsInAnyOrder()

  List colors = Arrays.asList("red","green","blue");
  assertThat(colors, containsInAnyOrder("green", "red", "blue")); // is true

答案 1 :(得分:-1)

Collection col1, col2;
Set set1 = new HashSet(col1);
set1.removeAll(col2);
assertTrue(set1.isEmpty());

您还可以创建类似this的utils类,并使用它来查找差异