2015-10-15 58 views
1

我正在使用specflow編寫一些單元測試,並需要一種方法來檢查對象列表是否由特定屬性排序。目前我正在這樣做,但我不確定這是否是最好的方法。如何檢查列表是使用Fluent斷言進行訂購

var listFromApi = listOfObjects; 

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

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

有沒有一種很好的方法可以使用Fluent聲明來完成?

+1

的可能的複製[FluentAssertions:排序的列表的等價(http://stackoverflow.com/問題/ 26295767/fluentassertions等價-的排序,列表) –

回答

5

是的。您可以使用帶拉姆達的BeInAscendingOrder

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

對於以犧牲性能爲代價額外的清晰度,還可以斷言的內容等效:

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