Example #1
0
        public void ValidateEquality()
        {
            var one    = new DirectoryNode(TargetDirectory, null);
            var oneRef = one;
            var oneToo = new DirectoryNode(TargetDirectory, null);
            var two    = new DirectoryNode(TargetDirectory.Parent, null);

            Assert.IsTrue(one.Equals(oneRef));
            oneRef = null;
            // ReSharper disable ExpressionIsAlwaysNull
            Assert.IsFalse(one.Equals(oneRef));
            // ReSharper restore ExpressionIsAlwaysNull
            Assert.AreEqual(one, oneToo);
            Assert.AreEqual(one.GetHashCode(), oneToo.GetHashCode());
            Assert.AreEqual(one.ToString(), oneToo.ToString());

            Assert.AreNotEqual(one, two);
            var shouldBeTrue = one == oneToo;

            Assert.IsTrue(shouldBeTrue);

            var shouldBeFalse = one != oneToo;

            Assert.IsFalse(shouldBeFalse);

            Assert.IsFalse(one.Equals(new object()));
        }