У меня есть класс PagedModel, который реализует IEnumerable, чтобы просто вернуть ModelData, игнорируя данные подкачки. Я также переопределил Equals и GetHashCode, чтобы сравнить два объекта PagedModel по их параметрам ModelData, PageNumber и TotalPages и PageSize.
Здесь проблема
Dim p1 As New PagedModel() With {
.PageNumber = 1,
.PageSize = 10,
.TotalPages = 10,
.ModelData = GetModelData()
}
Dim p2 As New PagedModel() With {
.PageNumber = 1,
.PageSize = 10,
.TotalPages = 10,
.ModelData = GetModelData()
}
p1.Equals(p2) =====> True
Assert.AreEqual(p1, p2) ======> False!
Похоже, что NUnit называет его внутренним методом EnumerableEqual для сравнения моего PagedModel вместо использования методов Equals, которые я предоставил! Есть ли способ переопределить это поведение или мне нужно написать настраиваемое утверждение.