我怎样才能断言一个集合是按 2 个属性排序的 流利断言.



我最近发现FluentAssertions有一个名为BeInAscendingOrder的集合断言。棒!

public class MyItems
{
    public int SequenceNumber { get; set; }
    public int Name { get; set; }
}
IList<int> resultingList = myClassUnderTest.GetOrderedList();
resultingList.Should().BeInAscendingOrder(m => m.SequenceNumber);

但是现在我想测试列表是否按 2 个属性排序。这可能吗?

你真的不能。您传入的 lambda 将转换为属性表达式,而不是可执行的 lambda 语句。而且,提供您自己的 IComparer 实现不会过载。

最好的办法是生成一个集合,该集合以正确的顺序包含这些项目,并将其与Should().Equal进行比较。这将断言两个集合以相同的顺序包含相同的元素。

相关内容

  • 没有找到相关文章

最新更新