public EqualityTestStruct(DateTime birthday, int age) { Birthday = birthday; OtherInfo = new EqualityTestClass { Age = age }; }
public void TestIEquatable() { var o1 = new EqualityTestClass { Age = 10 }; Object o2 = new EqualityTestClass { Age = 10 }; var o3 = (EqualityTestClass)o2; Assert.That(o1.Equals(o2), Is.True); Assert.That(o1.Equals(o3), Is.True); }
public void TestObjectStaticEquals() { var mock = new Mock <EqualityTestClass>(); Object o = new EqualityTestClass(); 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); }
public void TestObjectEqual() { var o1 = new EqualityTestClass { Age = 1 }; var o2 = new EqualityTestClass { Age = 2 }; var o3 = new EqualityTestClass { Age = 2 }; Assert.That(o1.Equals(o2), Is.False); Assert.That(o2.Equals(o3), Is.True); }
public void TestOperator() { var o1 = new EqualityTestClass { Age = 10 }; var o2 = new EqualityTestClass { Age = 10 }; Assert.That(o1 == o2, Is.False); Assert.That(o1 != o2, Is.True); // Wont't compile // var o3 = new EqualityTestStruct(new DateTime(2019, 3, 12), 10); // var o4 = new EqualityTestStruct(new DateTime(2019, 3, 12), 10); // Assert.That(o3 == o4, Is.True); }