【问题标题】:How can I assert a collection is sorted by 2 properties with FluentAssertions?如何宣称,通过2个属性与fluentassertions进行排序的集合?
【发布时间】:2016-10-15 12:01:02
【问题描述】:

我最近发现 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 个属性排序。这可能吗?

【问题讨论】:

    标签: c# unit-testing fluent-assertions


    【解决方案1】:

    你真的不能。您在那里传递的 lambda 转换为属性表达式,而不是可执行的 lambda 语句。并且提供您自己的 IComparer 实现没有任何重载。

    最好的办法是生成一个集合,其中包含按正确顺序排列的这些项目,并将其与Should().Equal 进行比较。这将断言两个集合以相同的顺序包含相同的元素。

    【讨论】:

      猜你喜欢
      • 2018-04-29
      • 1970-01-01
      • 2011-03-29
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多