예제 #1
0
        public void ExpressionMapTest()
        {
            var date         = DateTime.Now;
            var clonnedClass = new MappedClass
            {
                DateTimeProp = date,
                IntProp      = 5,
                StringProp   = "qwe"
            };

            var destClass = new DestClass
            {
                DateTimeProp = date,
                IntProp      = 5,
                StringProp   = "qwe"
            };

            var mapper = new ExpressionMapper();

            mapper.Register <MappedClass, DestClass>();

            var mapped = mapper.Map <MappedClass, DestClass>(clonnedClass);

            mapped.Should().BeEquivalentTo(destClass);

            Assert.Pass();
        }
예제 #2
0
        public void TestCopyFieldsOtherClass()
        {
            var src = new SubTest1 {
                TestString1 = "bla-bla", TestNumber = 123
            };
            var dest = new DestClass();

            ReflectionUtils.CopyInitProperties(src, dest, typeof(InitPropertyAttribute));
            Assert.AreEqual("bla-bla", dest.TestString1);
            Assert.AreEqual(123, dest.TestNumber);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }
예제 #7
0
        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);
        }
예제 #8
0
        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);
        }