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

本文关键字:Fluent 断言 排序 列表 何检查 检查 | 更新日期: 2023-09-27 18:17:44

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

var listFromApi = listOfObjects;
var sortedList = listFromApi.OrderBy(x => x.Property);
Assert.IsTrue(listFromApi.SequenceEqual(sortedList));

是否有一个很好的方法,这可以做到使用流利断言?

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

是。您可以使用带有lambda的BeInAscendingOrder

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

为了在牺牲性能的情况下获得额外的清晰度,您还可以断言内容等价:

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

可以传递如下选项:

listFromApi.Should().BeEquivalentTo(sortedList, opt => opt.WithStrictOrdering());