public void IgnoreMemberMap_Test()
        {
            var obj1 = new FooForMapperModel()
            {
                StrValueForIgnoreMapAttribute = "123"
            };
            var obj2 = obj1.MapTo <FooForMapper>();

            obj2.StrValueForIgnoreMapAttribute.ShouldBeNull();
            obj2 = new FooForMapper()
            {
                StrValueForIgnoreMapAttribute = "456"
            };
            obj1 = obj2.MapTo <FooForMapperModel>();
            obj1.StrValueForIgnoreMapAttribute.ShouldBe("456");
        }
        public void IgnoreNullMember_Test()
        {
            var foo = new FooForMapper()
            {
                StrValue = "333", IntValue = 3, Date = DateTime.Now
            };
            var foo2 = new FooForMapperModel()
            {
                StrValue2 = "444"
            };
            var foo3 = foo2.MapTo(foo);

            foo3.IntValue.ShouldBe(3);
            foo3.StrValue.ShouldBe("333");
            foo3.StrValue2.ShouldBe("444");
        }
        public void OnlyMapTo_Test()
        {
            //Only FooForMapper.DoubleValueForOnlyMapAttribute MapTo FooForMapperModel

            //Try FooForMapperModel To FooForMapper
            var foo = new FooForMapperModel()
            {
                DoubleValueForOnlyMapAttribute = 3.33
            };
            var foo2 = foo.MapTo <FooForMapper>();

            foo2.DoubleValueForOnlyMapAttribute.ShouldBe(0, 0.1);

            //Try FooForMapper  To FooForMapperModel
            foo2 = new FooForMapper()
            {
                DoubleValueForOnlyMapAttribute = 777.777
            };
            foo = foo2.MapTo <FooForMapperModel>();
            foo.DoubleValueForOnlyMapAttribute.ShouldBe(777.777, 0.1);
        }
        public void OnlyMapFrom_Test()
        {
            //Only FooForMapperModel.IntValuForOnlyMapAttribute MapTo FooForMapper

            //Try FooForMapperModel To FooForMapper
            var foo = new FooForMapperModel()
            {
                IntValueForOnlyMapAttribute = 666
            };
            var foo2 = foo.MapTo <FooForMapper>();

            foo2.IntValueForOnlyMapAttribute.ShouldBe(666);

            //Try FooForMapper  To FooForMapperModel
            foo2 = new FooForMapper()
            {
                IntValueForOnlyMapAttribute = 777
            };
            foo = foo2.MapTo <FooForMapperModel>();
            foo.IntValueForOnlyMapAttribute.ShouldBe(0);
        }