У меня есть структура Foo
, которая реализует IEquatable<Foo>
, предоставляя как IEquatable<Foo>.Equals(Foo)
, object.Equals(object)
, так и GetHashCode()
, как требуется для этого интерфейса.
В обычных сборках .NET Framework при сборке и запуске этого теста NUnit:
Foo fooActual = getActualFooSomehow();
Foo fooExpected = loadExpectedFooFromSomewhere();
Assert.That(fooActual, Is.EqualTo(fooExpected));
переопределение IEquatable<Foo>.Equals(Foo)
вызывается, как и ожидалось.Однако, когда я запускаю тот же тест в .NET Native для приложений Windows 10 UWP, вместо этого вызывается object.Equals(object)
.
Как мы можем заставить собственные тесты .NET вести себя так же, как и тесты .NET Framework в этом отношении?