Как сравнить списки, используя fluent-assertions?
Я хочу сравнить список объектов, игнорируя порядок объектов в списке и сравнивая только некоторые свойства в объектах, в настоящее время я использую следующий код для выполнения этого сравнения:
actual.Should().NotBeNull();
actual.Count.Should().Be(expected.Count);
//compare ignoring order
foreach (var exp in expected)
actual.Should().Contain(act =>
act.IndividualId.Equals(exp.IndividualId)
&& act.Email.Equals(exp.Email)
&& act.FirstName.Equals(exp.FirstName)
&& act.LastName.Equals(exp.LastName)
);
однако это кажется менее идеальным, так как при сбое вы не получаете распечатку ожидаемых значений. Есть ли встроенный механизм для выполнения этого сравнения с использованием fluent assertions?
1 ответов
Не сейчас. У нас есть новый эквивалентности утверждение синтаксис FA 2.0, но это также проверит, отображаются ли объекты в правильном порядке. Для FA 2.1 я пытаюсь поддержать это, но я еще не уверен, что это сработает. Это в основном означает, что он должен сравнить весь график объекта за элементом коллекции с графиками объектов для каждого другого элемента в коллекции. Конечно, это будет довольно медленно.