コード例 #1
0
        public void Map_ListIsMappedProperty_Success()
        {
            var config = new HappyConfig(cfg =>
            {
                cfg.CreateMap <Src, Dest>();
                cfg.CreateMap <SrcWrap, DestWrap>();
            });

            config.AssertConfigurationIsValid();
            var mapper = config.CompileMapper();

            var srcList = new List <Src>();

            srcList.Add(new Src {
                Value1 = 1
            });

            List <Dest> destList = new List <Dest>();

            destList.Add(new Dest());

            SrcWrap srcWrap = new SrcWrap {
                P1 = srcList
            };
            DestWrap destWrap = new DestWrap {
                P1 = destList
            };

            mapper.Map(srcWrap, destWrap);

            Assert.AreEqual(srcWrap.P1[0].Value1, destWrap.P1[0].Value1);
        }
コード例 #2
0
        public void Map_ListIsTarget_Success()
        {
            var config = new HappyConfig(cfg => cfg.CreateMap <Src, Dest>());

            config.AssertConfigurationIsValid();
            var mapper = config.CompileMapper();


            var srcList = new List <Src>();

            srcList.Add(new Src {
                Value1 = Gen.Int()
            });
            srcList.Add(new Src {
                Value1 = Gen.Int()
            });
            srcList.Add(new Src {
                Value1 = Gen.Int()
            });

            List <Dest> destList = new List <Dest>();

            destList.Add(new Dest());
            destList.Add(new Dest());
            destList.Add(new Dest());

            mapper.Map(srcList, destList);

            ObjectComparer.AreEqualCollections(srcList, destList);
        }
コード例 #3
0
        public void Ignore_IgnoreNotMappedDestinationMember_ConfigurationIsValid()
        {
            var config = new HappyConfig(cfg =>
            {
                cfg.CreateMap <A, C>().ForMember(d => d.P2, opt => opt.Ignore());
            });

            Assert.DoesNotThrow(() => config.AssertConfigurationIsValid());
        }
コード例 #4
0
        public TDest Map <TSrc, TDest>(TSrc src) where TSrc : class, new() where TDest : class, new()
        {
            var config = new HappyConfig(cfg =>
                                         cfg.CreateMap <TSrc, TDest>());

            config.AssertConfigurationIsValid();

            var mapper = config.CompileMapper();

            TDest dest = new TDest();

            mapper.Map(src, dest);

            return(dest);
        }
コード例 #5
0
        public void Map_ListToLinkedList_Success()
        {
            var config = new HappyConfig(cfg => cfg.CreateMap <Src, Dest>());

            config.AssertConfigurationIsValid();
            var mapper = config.CompileMapper();

            var src = new List <Src>();

            src.Add(new Src {
                Id = 1
            });

            var dest = mapper.Map <List <Src>, LinkedList <Dest> >(src);

            ObjectComparer.AreEqualCollections(src, dest);
        }
コード例 #6
0
        public void Map_ListOfLists_Success()
        {
            var config = new HappyConfig(cfg =>
            {
                cfg.CreateMap <Src, Dest>();
                cfg.CreateMap <SrcWrapLevel2, DestWrapLevel2>();
            });

            config.AssertConfigurationIsValid();
            var mapper = config.CompileMapper();

            var srcListA = new List <Src>();

            srcListA.Add(new Src {
                Value1 = Gen.Int()
            });
            srcListA.Add(new Src {
                Value1 = Gen.Int()
            });
            srcListA.Add(new Src {
                Value1 = Gen.Int()
            });

            var srcListB = new List <Src>();

            srcListB.Add(new Src {
                Value1 = Gen.Int()
            });
            srcListB.Add(new Src {
                Value1 = Gen.Int()
            });

            var srcListL2 = new List <List <Src> >();

            srcListL2.Add(srcListA);
            srcListL2.Add(srcListB);


            var destList   = new List <Dest>();
            var destListL2 = new List <List <Dest> >();

            destList.Add(new Dest());
            destListL2.Add(destList);

            var srcWrap = new SrcWrapLevel2 {
                P1 = srcListL2
            };
            var destWrap = new DestWrapLevel2 {
                P1 = destListL2
            };

            mapper.Map(srcWrap, destWrap);
            //Mapper_SrcWrapLevel2_DestWrapLevel2_8bae.Map(srcWrap, destWrap);

            for (int i = 0; i < srcWrap.P1.Count; i++)
            {
                for (int j = 0; j < srcWrap.P1[i].Count; j++)
                {
                    var src  = srcWrap.P1[i][j];
                    var dest = destWrap.P1[i][j];

                    var result = ObjectComparer.AreEqual(src, dest);

                    Assert.IsTrue(result.Success);
                }
            }
        }