如何检查列表是使用Fluent断言进行排序的

时间:2015-10-15 08:46:51

标签: c# list unit-testing fluent-assertions

我正在使用specflow编写一些单元测试,需要一种方法来检查对象列表是否按特定属性排序。目前我这样做,但我不确定这是否是最佳方式。

var listFromApi = listOfObjects;

var sortedList = listFromApi.OrderBy(x => x.Property);

Assert.IsTrue(listFromApi.SequenceEqual(sortedList));

使用Fluent Assertions可以做到这一点很好吗?

2 个答案:

答案 0 :(得分:11)

是。您可以将BeInAscendingOrder与lambda一起使用。

listFromApi.Should().BeInAscendingOrder(x => x.Property);

为了更加清晰而牺牲性能,您还可以断言内容等同:

listFromApi.Should().BeEquivalentTo(listOfObjects)
    .And.BeInAscendingOrder(x => x.Property);

答案 1 :(得分:1)

可以传递以下选项:

<app-loader></app-loader>