У меня есть класс 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, которые я предоставил! Есть ли способ переопределить это поведение, или мне нужно написать собственное утверждение.