Kai*_*Kid 4 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);
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种使用 fluentAssertions 做到这一点的方法。元素不一定是相等的,而是等价的。它可能是这样的
list1.ShouldAll().BeEquivalentInAnyOrderTo(list2);
Run Code Online (Sandbox Code Playgroud)
但是我找不到任何可以轻松解决我的问题的东西。
使用 FluentAssertions 检查两个列表是否以任何顺序包含等效元素的最简单方法是什么?
你离得不远:
list1.Should().BeEquivalentTo(list2);
Run Code Online (Sandbox Code Playgroud)
应该管用。来自:https : //fluentassertions.com/collections/