繁体   English   中英

我如何断言使用FluentAssertions将集合按2个属性排序?

[英]How can I assert a collection is sorted by 2 properties with FluentAssertions?

我最近发现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进行比较。 这将断言两个集合以相同的顺序包含相同的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM