public void ValueObjectsWithSameReferenceAreEqual() { var testValueObject = new TestValueObject { Firstname = "Robin", Lastname = "van der Knaap" }; var testValueObject2 = testValueObject; Assert.AreEqual(testValueObject, testValueObject2); Assert.IsTrue(testValueObject == testValueObject2); Assert.IsFalse(testValueObject != testValueObject2); var valueObjectSet = new HashSet<ValueObject> {testValueObject, testValueObject2}; Assert.AreEqual(1, valueObjectSet.Count); }
public void ValueObjectsAreNotEqualWhenNotAllPropertiesHaveSameValue() { var testValueObject = new TestValueObject { Firstname = "Robin", Lastname = "van der Knaap" }; var testValueObject2 = new TestValueObject { Firstname = "Daan", Lastname = "le Duc" }; Assert.AreNotEqual(testValueObject, testValueObject2); Assert.IsFalse(testValueObject == testValueObject2); Assert.IsTrue(testValueObject != testValueObject2); Assert.AreNotEqual(testValueObject.GetHashCode(), testValueObject2.GetHashCode()); var valueObjectSet = new HashSet<ValueObject> {testValueObject, testValueObject2}; Assert.AreEqual(2, valueObjectSet.Count); }