【问题标题】:collection equality using hamcrest [duplicate]使用hamcrest收集平等[重复]
【发布时间】:2014-08-27 12:25:42
【问题描述】:

我想使用 hamcrest 断言两个集合的相等性。

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

{1,2} 等于 {2,1} 以满足我的需要。

什么是正确的语法?

【问题讨论】:

    标签: java unit-testing junit hamcrest


    【解决方案1】:

    使用containsInAnyOrder()

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

    【讨论】:

      【解决方案2】:
      Collection col1, col2;
      Set set1 = new HashSet(col1);
      set1.removeAll(col2);
      assertTrue(set1.isEmpty());
      

      您也可以创建像this 这样的实用程序类并使用它来查找差异

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-27
        • 1970-01-01
        • 1970-01-01
        • 2021-11-06
        相关资源
        最近更新 更多