Example #1
0
 public InfoB(DateTime birthday, int age)
 {
     Birthday  = birthday;
     OtherInfo = new InfoA {
         Age = age
     };
 }
Example #2
0
        public void TestIEquatable()
        {
            var o1 = new InfoA {
                Age = 10
            };
            Object o2 = new InfoA {
                Age = 10
            };
            var o3 = (InfoA)o2;

            Assert.That(o1.Equals(o2), Is.True);
            Assert.That(o1.Equals(o3), Is.True);
        }
Example #3
0
        public void TestObjectStaticEquals()
        {
            var    mock = new Mock <InfoA>();
            Object o    = new InfoA();

            mock.Setup(m => m.Equals(o)).Returns(false);

            Assert.That(Object.Equals(null, mock.Object), Is.False);
            mock.Verify(m => m.Equals(o), Times.Never);

            Assert.That(Object.Equals(mock.Object, o), Is.False);
            mock.Verify(m => m.Equals(o), Times.Once);
        }
Example #4
0
        public void TestObjectEqual()
        {
            var o1 = new InfoA {
                Age = 1
            };
            var o2 = new InfoA {
                Age = 2
            };
            var o3 = new InfoA {
                Age = 2
            };

            Assert.That(o1.Equals(o2), Is.False);
            Assert.That(o2.Equals(o3), Is.True);
        }
Example #5
0
        public void TestEqualityOperatorOverload()
        {
            var o1 = new InfoA {
                Age = 10
            };
            var o2 = new InfoA {
                Age = 10
            };

            Assert.That(o1 == o2, Is.False);
            Assert.That(o1 != o2, Is.True);

            // Wont't compile
            // var o3 = new InfoB(new DateTime(2019, 3, 12), 10);
            // var o4 = new InfoB(new DateTime(2019, 3, 12), 10);
            // Assert.That(o3 == o4, Is.True);
        }