public void EqualityOperator_WhenComparingNullToNull_AreEqual()
        {
            MyValueObject obj1 = null;

            var areEqual = obj1 == null;

            areEqual.ShouldBeTrue();
        }
Esempio n. 2
0
        public void EqualOperator_Should_ReturnTrue_When_BothAreNull()
        {
            // Arrange & Act
            var actual = MyValueObject.TestEqualOperator(null, null);

            // Assert
            Assert.True(actual);
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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();
        }
Esempio n. 7
0
        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();
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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();
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        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());
        }
Esempio n. 19
0
        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)");
        }
Esempio n. 20
0
        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());
        }