ページング データを無視して、ModelData を返すだけの IEnumerable を実装する PagedModel クラスがあります。また、Equals と GetHashCode をオーバーライドして、2 つの 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 は、私が提供した Equals メソッドを使用する代わりに、PagedModel を比較するために内部の EnumerableEqual メソッドを呼び出しているようです! この動作をオーバーライドする方法はありますか、それともカスタム アサーションを作成する必要がありますか。