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

FluentAssertions: Should contain every element of sequence

我有一个列表,每个元素也应该出现在另一个列表中,但不一定以相同的顺序。

我可能可以像这样用 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 检查两个列表是否以任何顺序包含等效元素的最简单方法是什么?

离你不远了:

list1.Should().BeEquivalentTo(list2);

应该可以。 来自:https://fluentassertions.com/collections/