У меня есть два Iqueryables, которые имеют разные значения. Я хочу использовать FluentAssertions для сравнения элементов в Iqueryable для моих модульных тестов.
У меня есть следующее:
[Fact]
public void TestCompareIQueryables()
{
// Arrange
var objects1 = new CustomObject[]
{
new CustomObject {
Code = "Code1",
Name = "Name1"
}
}.AsQueryable();
var objects2 = new CustomObject []
{
new CustomObject {
Code = "Code2",
Name = "Name2"
}
}.AsQueryable();
// Assert
objects1.Should().HaveSameCount(objects2);
objects1.Should().BeEquivalentTo(objects1);
objects1.Should().BeEquivalentTo(objects2);
}
Что происходит, когда я запускаю этот факт, так это то, что он проходит, но я ожидаю, что последний метод Should().BeEquivalentTo() завершится ошибкой.
Я что-то упустил, из-за чего тест работает не так, как ожидалось? Как я могу правильно сравнить каждый элемент друг с другом в двух IQueryables?
Любая помощь будет оценена по достоинству!
CustomObject
реализуетEquals
? - person Dennis Doomen   schedule 20.02.2019FluentAssertions
вы используете? Как реализованCustomObject
? Когда я копирую предоставленный вами код и создаю классCustomObject
только с двумя свойствами, он работает, как и ожидалось. - person Jonas Nyrup   schedule 20.02.2019