Ejemplo n.º 1
0
        public void ValidateEquality()
        {
            var file1 = new FileInfo(@"C:\file1.txt");
            var file2 = new FileInfo(@"C:\file2.txt");

            var one    = new FileNode(file1, null, null, null);
            var oneRef = one;
            var oneToo = new FileNode(file1, null, null, null);
            var two    = new FileNode(file2, null, null, 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()));
        }