FluentAssertions:应包含序列的每个元素

时间:2017-08-08 18:49:08

标签: c# unit-testing fluent-assertions

我有一个列表,每个元素也应该显示在另一个列表中,但不一定按照相同的顺序。

我可以用foreach做这个断言,比如这个

Assert.IsTrue(list1.Count == list2.Count);
foreach(var element in list1)
{
    Assert.IsTrue(list2.Count(e => e.Equals(element)) == 1);
}

我正在寻找一种方法来使用fluentAssertions。元素不一定是等价的,而是等价的。它可能类似于

list1.ShouldAll().BeEquivalentInAnyOrderTo(list2);

但我找不到任何能轻易解决问题的方法。

使用FluentAssertions检查两个列表是否包含任何顺序的等效元素的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

你离我不远:

list1.Should().BeEquivalentTo(list2);

应该有效。 来自:http://fluentassertions.com/documentation.html#collections