代码之家  ›  专栏  ›  技术社区  ›  Graviton

CollectionAssert.a等同于自定义IEqualityComparer

  •  27
  • Graviton  · 技术社区  · 14 年前

    我有两个列表,我想检查两个列表是否相同(顺序不重要),是否相同取决于 IEqualityComparer

    CollectionAssert.AreEquivalent 质量比较员 . 但是看起来 不接受任何

    有没有关于如何做到这一点在一个简洁和可重用的方式?

    1 回复  |  直到 14 年前
        1
  •  37
  •   Quartermeister    10 年前

    CollectionAssert.AreEquivalent 具体实施如下:

    Assert.That(actual, new CollectionEquivalentConstraint(expected), message, args);
    

    你可以这样写你的断言并提供一个自定义的 IEqualityComparer Using :

    Assert.That(actual,
        new CollectionEquivalentConstraint(expected).Using(customComparer));
    

    new CollectionEquivalentConstraint Is.EquivalentTo :

    Assert.That(actual, Is.EquivalentTo(expected).Using(customComparer));