public void TestEquality(ulong value1, ulong value2, bool shouldBeEqual) { var bitboard1 = new Bitboard(value1); var bitboard2 = new Bitboard(value2); var expectation = shouldBeEqual ? AssertEqualityExpectation.EqualAndCannotBeSame : AssertEqualityExpectation.NotEqual; NUnitFactotum.AssertEquality(bitboard1, bitboard2, expectation); Assert.That(Bitboard.Equals(bitboard1, bitboard2), Is.EqualTo(shouldBeEqual)); Assert.That(bitboard1 == bitboard2, Is.EqualTo(shouldBeEqual)); Assert.That(bitboard1 != bitboard2, Is.Not.EqualTo(shouldBeEqual)); }