public void Equals_IgnoresPrivatePropertiesAndFields() { var value1 = new ValueObjectTestClass(5); var value2 = new ValueObjectTestClass(8); AssertEqual(value1, value2); }
private void AssertNotEqual(ValueObjectTestClass value1, ValueObjectTestClass value2) { Assert.NotEqual(value1, value2); Assert.True(value1 != value2); Assert.False(value1 == value2); Assert.False(value1.Equals(value2)); }
public void Equals_NullIsConsideredEqual() { var value1 = new ValueObjectTestClass(); var value2 = new ValueObjectTestClass(); AssertEqual(value1, value2); }
public void Equals_ComparingWithWrongType_ReturnsFalse() { var value = new ValueObjectTestClass { Property1 = "string" }; Assert.False(value.Equals(10)); }
public void Equals_ComparingWithNull_ReturnsFalse() { var value = new ValueObjectTestClass { Property1 = "string" }; Assert.False(value.Equals(null as object)); }
public void Equals_OnlyOneValueIsNull_DoesNotThrow_NotEqual() { var value1 = new ValueObjectTestClass(); var value2 = new ValueObjectTestClass { Property1 = "value" }; AssertNotEqual(value1, value2); }
public void Equals_ComparesAllPropertiesAndFields_FieldDifferent_NotEqual() { var value1 = new ValueObjectTestClass { Property1 = "test", Property2 = 10, Field = 8 }; var value2 = new ValueObjectTestClass { Property1 = "test", Property2 = 10, Field = 9 }; AssertNotEqual(value1, value2); }
public void GetHashCode_ConsidersPublicFields() { var value1 = new ValueObjectTestClass { Property2 = 2 }; var value2 = new ValueObjectTestClass { Property2 = 2, Field = 4 }; Assert.NotEqual(value1.GetHashCode(), value2.GetHashCode()); }
public void GetHashCode_HandlesNull() { var value1 = new ValueObjectTestClass { Property2 = 2 }; var value2 = new ValueObjectTestClass { Property2 = 5 }; Assert.NotEqual(value1.GetHashCode(), value2.GetHashCode()); }
public void GetHashCode_NotEqualForDistinctObjects_2() { var value1 = new ValueObjectTestClass { Property1 = "string", Property2 = 4 }; var value2 = new ValueObjectTestClass { Property1 = "String", Property2 = 4 }; Assert.NotEqual(value1.GetHashCode(), value2.GetHashCode()); }
public void GetHashCode_AlwaysEqualForEqualObjects() { var value1 = new ValueObjectTestClass { Property1 = "string", Property2 = 4 }; var value2 = new ValueObjectTestClass { Property1 = "string", Property2 = 4 }; Assert.Equal(value1.GetHashCode(), value2.GetHashCode()); }
public void OperatorEquals_LeftSideNull_ReturnsFalse() { var value = new ValueObjectTestClass(); Assert.False(value == null); }
public void OperatorNotEquals_RightSideNull_ReturnsTrue() { var value = new ValueObjectTestClass(); Assert.True(value != null); }