public void op_Equals_objectString()
        {
            var obj = new ValueObjectDerived
            {
                StringProperty = "foo"
            };

            Assert.False(obj.Equals("foo"));
        }
        public void op_Equals_objectDiffers()
        {
            var obj = new ValueObjectDerived();

            var comparand = new ValueObjectDerived
            {
                Int32Property = 123
            };

            Assert.False(obj.Equals(comparand as object));
        }
        public void op_Equals_T()
        {
            var obj = new ValueObjectDerived
            {
                DateTimeProperty = new DateTime(1999, 12, 31),
                Int32Property    = 123
            };

            var comparand = new ValueObjectDerived
            {
                DateTimeProperty = XmlConvert.ToDateTime(obj.DateTimeProperty.ToXmlString(), XmlDateTimeSerializationMode.Utc),
                Int32Property    = 123
            };

            Assert.True(obj.Equals(comparand));
        }
        public void op_Equals_objectSame()
        {
            var obj = new ValueObjectDerived();

            Assert.True(obj.Equals(obj as object));
        }