Пример #1
0
        public void TestEquality(string firstMoveStringNotation, GameMove second, bool expectedEquals)
        {
            var first = GameMove.FromStringNotation(firstMoveStringNotation);

            Assert.That(first, Is.Not.Null);
            Assert.That(second, Is.Not.Null);

            Assert.That(first.Equals(second), Is.EqualTo(expectedEquals));
            Assert.That(second.Equals(first), Is.EqualTo(expectedEquals));
            Assert.That(Equals(first, second), Is.EqualTo(expectedEquals));
            Assert.That(EqualityComparer <GameMove> .Default.Equals(first, second), Is.EqualTo(expectedEquals));
            Assert.That(first == second, Is.EqualTo(expectedEquals));
            Assert.That(first != second, Is.EqualTo(!expectedEquals));

            if (expectedEquals)
            {
                Assert.That(first.GetHashCode(), Is.EqualTo(second.GetHashCode()));
            }
        }