public void NullSourcePropertyIsNotAChange()
        {
            var src = new SourceClass
            {
                A = null,
                C = "hello"
            };

            var reference = new RefClass
            {
                A = 4,
                C = "hello"
            };

            var  dest    = new DestClass();
            bool changes = ObjectDeltaMapper.Map(src, reference, dest);

            Assert.False(changes);
        }
        public void MappingWithNoChangesReturnsFalse()
        {
            var src = new SourceClass
            {
                A        = 1,
                B        = true,
                C        = "hello",
                Excluded = 42.0
            };

            var reference = new RefClass
            {
                A = 1,
                C = "hello"
            };

            var dest = new DestClass();

            bool changes = ObjectDeltaMapper.Map(src, reference, dest, "Excluded");

            Assert.False(changes);
        }
        public void MappingWithChangeCopiesChangedProperties()
        {
            var src = new SourceClass
            {
                A        = 1,
                B        = true,
                C        = "hello",
                Excluded = 42.0
            };

            var reference = new RefClass
            {
                A = 4,
                C = "hello"
            };

            var dest = new DestClass();

            bool changes = ObjectDeltaMapper.Map(src, reference, dest, "Excluded");

            Assert.True(changes);
            Assert.Equal(1, dest.A);
            Assert.Null(dest.C);
        }