public void EqualityOperator_WhenComparingNullToNull_AreEqual() { MyValueObject obj1 = null; var areEqual = obj1 == null; areEqual.ShouldBeTrue(); }
public void EqualOperator_Should_ReturnTrue_When_BothAreNull() { // Arrange & Act var actual = MyValueObject.TestEqualOperator(null, null); // Assert Assert.True(actual); }
public void GetHashCode_Should_ReturnSameValues() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); var value2 = new MyValueObject(10, "Unit Tests"); // Act & Assert Assert.Equal(value1.GetHashCode(), value2.GetHashCode()); }
public void GetCopy_Should_StillBeEqual() { // Arrange & Act var value1 = new MyValueObject(10, "Unit Tests"); var value2 = value1.GetCopy(); // Assert Assert.Equal(value1, value2); }
public void EqualityOperator_WhenComparingObjectToNull_AreNotEqual() { var name = "foo"; var number = 123; var obj1 = new MyValueObject(name, number); var areEqual = obj1 == null; areEqual.ShouldBeFalse(); }
public void EqualityOperator_WithTwoDifferentObjects_AreNotEqual() { var name = "foo"; var number = 123; var obj1 = new MyValueObject(name, number); var obj2 = new Dummy3(); var areEqual = obj1 == obj2; areEqual.ShouldBeFalse(); }
public void EqualOperator_Should_ReturnFalse_When_RightIsNull() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); // Act var actual = MyValueObject.TestEqualOperator(value1, null); // Assert Assert.False(actual); }
public void InequalityOperator_WhenComparingEqualObjects_AreNotDifferent() { var name = "foo"; var number = 123; var obj1 = new MyValueObject(name, number); var obj2 = new MyValueObject(name, number); var areDifferent = obj1 != obj2; areDifferent.ShouldBeFalse(); }
public void Equals_Should_ReturnTrue_When_OtherObjectIsSame() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); // Act var actual = value1.Equals(value1); // Assert Assert.True(actual); }
public void Equals_Should_ReturnFalseWithNull() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); // Act var actual = value1.Equals(null); // Assert Assert.False(actual); }
public void EqualityOperator_WhenComparingEqualObjects_AreEqual() { var name = "foo"; var number = 123; var obj1 = new MyValueObject(name, number); var obj2 = new MyValueObject(name, number); var areEqual = obj1 == obj2; areEqual.ShouldBeTrue(); }
public void Equals_Should_ReturnFalse_When_TwoDifferentTypesButSameProperties() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); var value2 = new MyOtherValueObject(10, "Unit Tests"); // Act var actual = value1.Equals(value2); // Assert Assert.False(actual); }
public void EqualOperator_Should_ReturnTrueWithSameValues() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); var value2 = new MyValueObject(10, "Unit Tests"); // Act var actual = MyValueObject.TestEqualOperator(value1, value2); // Assert Assert.True(actual); }
public void GetHashCode_Should_ReturnValue_WhenItContainsNullProperties() { // Arrange const int expected = 512; var value1 = new MyValueObject(512, null); // Act var actual = value1.GetHashCode(); // Assert Assert.Equal(expected, actual); }
public void Equals_Should_ReturnTrue_When_BothHaveSameValuesButPassedasObject() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); var value2 = new MyValueObject(10, "Unit Tests"); // Act var actual = value1.Equals((object)value2); // Assert Assert.True(actual); }
public void Equals_Should_ReturnFalseWithDifferentValues() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); var value2 = new MyValueObject(10, "Unit Tests For Life1"); // Act var actual = value1.Equals(value2); // Assert Assert.False(actual); }
public void NotEqualExplicitOperator_Should_ReturnFalseWithSameValues() { // Arrange var value1 = new MyValueObject(10, "Unit Tests"); var value2 = new MyValueObject(10, "Unit Tests"); // Act var actual = value1 != value2; // Assert Assert.False(actual); }
public void TwoValueObjectsWithSameValuesButDifferentTypesAreNotEqual() { MyValueObject object1 = new MyValueObject("string", 100); MySimilarValueObject object2 = new MySimilarValueObject("string", 100); MyInheritedValueObject object3 = new MyInheritedValueObject("string", 100); MyExtendedValueObject object4 = new MyExtendedValueObject("string", 100, 102); Assert.AreNotSame(object1, object2); Assert.AreNotSame(object1, object3); Assert.AreNotSame(object1, object4); Assert.AreEqual(object1, object1); Assert.AreNotEqual(object1, object2); Assert.AreNotEqual(object2, object1); Assert.AreNotEqual(object1, object3); Assert.AreNotEqual(object3, object1); Assert.AreNotEqual(object1, object4); Assert.AreNotEqual(object4, object1); Assert.AreNotEqual(object1.GetHashCode(), object2.GetHashCode()); Assert.AreNotEqual(object2.GetHashCode(), object1.GetHashCode()); Assert.AreNotEqual(object1.GetHashCode(), object3.GetHashCode()); Assert.AreNotEqual(object3.GetHashCode(), object1.GetHashCode()); Assert.AreNotEqual(object1.GetHashCode(), object4.GetHashCode()); Assert.AreNotEqual(object4.GetHashCode(), object1.GetHashCode()); }
public void ToStringTest() { MyValueObject object1 = new MyValueObject("string", 100); MySimilarValueObject object2 = new MySimilarValueObject("string", 100); MyInheritedValueObject object3 = new MyInheritedValueObject("string", 100); MyExtendedValueObject object4 = new MyExtendedValueObject("string", 100, 102); MyOtherValueObject object5 = new MyOtherValueObject(); Assert.AreEqual(object1.ToString(), "Mikadocs.OEE.Test.ValueObjectTest+MyValueObject with values: (i: (100), s: (string))"); Assert.AreEqual(object2.ToString(), "Mikadocs.OEE.Test.ValueObjectTest+MySimilarValueObject with values: (i: (100), s: (string))"); Assert.AreEqual(object3.ToString(), "Mikadocs.OEE.Test.ValueObjectTest+MyInheritedValueObject with values: (i: (100), s: (string))"); Assert.AreEqual(object4.ToString(), "Mikadocs.OEE.Test.ValueObjectTest+MyExtendedValueObject with values: (d: (102), i: (100), s: (string))"); Assert.AreEqual(object5.ToString(), "Mikadocs.OEE.Test.ValueObjectTest+MyOtherValueObject with values: (none)"); }
public void TwoValueObjectsWithSameValuesAreEqual() { MyValueObject object1 = new MyValueObject("string", 100); MyValueObject object2 = new MyValueObject("string", 100); Assert.AreNotSame(object1, object2); Assert.AreEqual(object1, object1); Assert.AreEqual(object1, object2); Assert.AreEqual(object2, object1); Assert.AreEqual(object1.GetHashCode(), object2.GetHashCode()); Assert.AreEqual(object2.GetHashCode(), object1.GetHashCode()); }