2012-01-12 6 views
0

У меня есть два объекта (экземпляры одного класса) с кучей свойств, некоторые из них - списки других объектов.FluentAssertions сравнивает содержимое списков, а не самих списков

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 для расчета стоимости < C, C, C>, но найдено < C, C, C>

Другими словами, при сопоставлении свойств, которые являются списками, он ссылается на равные значения, которые в этом случае явно не работают.

Как сообщить FluentAssertions о том, что свойства элементов в списках равны, а не сами списки?

ответ

1

Поддерживается с версии 1.7.0. Ознакомьтесь с примечаниями к выпуску здесь. http://www.dennisdoomen.net/2012/01/fluent-assertions-170-has-been-released.html

+0

К сожалению, я не имею возможности обновить на данный момент - это должно будет пройти цепочку решений в нашей команде разработчиков в первую очередь. Но тот факт, что мне пришлось бы обновиться, чтобы получить функциональность, отвечает на мой вопрос в любом случае =) Спасибо! –

+0

Ну, версия 1.7.0 обратно совместима с 1.6.0, поэтому мы используем семантическую версию :-) –

+0

Полезно знать! Это еще не мое решение, но легче будет убедить менеджера проекта =) –