我正在进行一些单元测试,并且我想知道是否有任何方法可以测试列表是否按其包含的对象的属性排序。
现在我是这样做的,但我不喜欢它,我想要一个更好的方法。请问有人可以帮帮我吗?
// (fill the list)
List<StudyFeedItem> studyFeeds =
Feeds.GetStudyFeeds(2120, DateTime.Today.AddDays(-200), 20);
StudyFeedItem previous = studyFeeds.First();
foreach (StudyFeedItem item in studyFeeds)
{
if (item != previous)
{
Assert.IsTrue(previous.Date > item.Date);
}
previous = item;
}
int x = 2, y = 2, z = x + y
是否成功通过了Assert.IsTrue(z == 4)
吧?你应该只对公共方法行为进行单元测试,仅此而已。所以,如果repository.GetItems(true)
的预期行为是返回一个有序项目列表,则测试它。但不要测试items.OrderBy(x=>x,new YourComparer())
是否确实对列表进行了排序。但是,请对YourComparer
确实正确比较进行单元测试。 - jasonl.OrderBy(e => e).SequenceEqual(l)
。 - a-ctor