Example #1
0
        public void Equals_IgnoresPrivatePropertiesAndFields()
        {
            var value1 = new ValueObjectTestClass(5);
            var value2 = new ValueObjectTestClass(8);

            AssertEqual(value1, value2);
        }
Example #2
0
 private void AssertNotEqual(ValueObjectTestClass value1, ValueObjectTestClass value2)
 {
     Assert.NotEqual(value1, value2);
     Assert.True(value1 != value2);
     Assert.False(value1 == value2);
     Assert.False(value1.Equals(value2));
 }
Example #3
0
        public void Equals_NullIsConsideredEqual()
        {
            var value1 = new ValueObjectTestClass();
            var value2 = new ValueObjectTestClass();

            AssertEqual(value1, value2);
        }
Example #4
0
        public void Equals_ComparingWithWrongType_ReturnsFalse()
        {
            var value = new ValueObjectTestClass {
                Property1 = "string"
            };

            Assert.False(value.Equals(10));
        }
Example #5
0
        public void Equals_ComparingWithNull_ReturnsFalse()
        {
            var value = new ValueObjectTestClass {
                Property1 = "string"
            };

            Assert.False(value.Equals(null as object));
        }
Example #6
0
        public void Equals_OnlyOneValueIsNull_DoesNotThrow_NotEqual()
        {
            var value1 = new ValueObjectTestClass();
            var value2 = new ValueObjectTestClass {
                Property1 = "value"
            };

            AssertNotEqual(value1, value2);
        }
Example #7
0
        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);
        }
Example #8
0
        public void GetHashCode_ConsidersPublicFields()
        {
            var value1 = new ValueObjectTestClass {
                Property2 = 2
            };
            var value2 = new ValueObjectTestClass {
                Property2 = 2, Field = 4
            };

            Assert.NotEqual(value1.GetHashCode(), value2.GetHashCode());
        }
Example #9
0
        public void GetHashCode_HandlesNull()
        {
            var value1 = new ValueObjectTestClass {
                Property2 = 2
            };
            var value2 = new ValueObjectTestClass {
                Property2 = 5
            };

            Assert.NotEqual(value1.GetHashCode(), value2.GetHashCode());
        }
Example #10
0
        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());
        }
Example #11
0
        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());
        }
Example #12
0
        public void OperatorEquals_LeftSideNull_ReturnsFalse()
        {
            var value = new ValueObjectTestClass();

            Assert.False(value == null);
        }
Example #13
0
        public void OperatorNotEquals_RightSideNull_ReturnsTrue()
        {
            var value = new ValueObjectTestClass();

            Assert.True(value != null);
        }