FluentAssertions比较列表的内容而不是列表本身

时间:2012-01-12 15:15:16

标签: .net fluent-assertions

我有两个对象(同一个类的实例),有一堆属性,其中一些是其他对象的列表。

class A  {
    public int a { get; set; }
    public string b { get; set; }
    public IList<C> cs { get; set; }
}

我想使用FluentAssertions library比较它们,并确保它们具有相同的属性,因此我添加了

first.ShouldHave().AllProperties().EqualTo(second);

然后我收到错误

  

期望的属性cs具有值&lt; C,C,C&gt;但发现&lt; C,C,C&gt;

换句话说,在比较列表属性时,它会执行reference-equals,在这种情况下显然会失败。

如何告诉FluentAssertions声明列表中元素的属性是否相等,而不是列表本身?

1 个答案:

答案 0 :(得分:1)

从1.7.0版开始支持此功能。阅读此处的发行说明。 http://www.dennisdoomen.net/2012/01/fluent-assertions-170-has-been-released.html