Example #1
0
        public void ShouldIgnoreRootSourceMaptimeDerivedComplexTypeByFilterAndSourceTypeInMerge()
        {
            using (var mapper = Mapper.CreateNew())
            {
                mapper.WhenMapping
                .From <Product>()
                .IgnoreSources(c =>
                               c.If <MegaProduct>(mp => mp.HowMega == decimal.Zero) ||
                               c.If <MegaProduct>(mp => mp.HowMega == decimal.MinValue));

                Product filteredSource = new MegaProduct {
                    ProductId = "ABC", HowMega = decimal.MinValue
                };
                var target = new ProductDtoMega {
                    ProductId = "ABC"
                };

                mapper.Map(filteredSource).OnTo(target);

                target.HowMega.ShouldBeNull();

                Product nonFilteredSource = new MegaProduct {
                    ProductId = "ABC", HowMega = 0.25m
                };

                mapper.Map(nonFilteredSource).OnTo(target);

                target.HowMega.ShouldBe("0.25");
            }
        }
Example #2
0
        public void ShouldIgnoreRootSourceMaptimeDerivedComplexTypeByFilterAndSourceTypeInCreateNew()
        {
            using (var mapper = Mapper.CreateNew())
            {
                mapper.WhenMapping
                .From <Product>()
                .IgnoreSources(c =>
                               c.If <MegaProduct>(mp => mp.HowMega >= 0.1m) &&
                               c.If <MegaProduct>(mp => mp.HowMega <= 0.5m));

                Product filteredSource = new MegaProduct {
                    ProductId = "ABC", HowMega = 0.4m
                };
                var filteredResult = mapper.Map(filteredSource).ToANew <ProductDtoMega>();

                filteredResult.ShouldBeNull();

                Product nonFilteredSource = new MegaProduct {
                    ProductId = "ABC", HowMega = 0.6m
                };

                var nonFilteredResult = mapper.Map(nonFilteredSource).ToANew <ProductDtoMega>();

                nonFilteredResult.ShouldNotBeNull();
                nonFilteredResult.HowMega.ShouldBe("0.6");
            }
        }
Example #3
0
        public void ShouldMapACustomTypePair()
        {
            using (var mapper = Mapper.CreateNew())
            {
                mapper.WhenMapping
                .From <Product>()
                .To <ProductDto>()
                .Map <MegaProduct>()
                .To <ProductDtoMega>();

                Product source = new MegaProduct {
                    ProductId = "PrettyDarnMega", HowMega = 1.00m
                };
                var result = mapper.Map(source).ToANew <ProductDto>();

                result.ShouldBeOfType <ProductDtoMega>();
                result.ProductId.ShouldBe("PrettyDarnMega");
                ((ProductDtoMega)result).HowMega.ShouldBe("1.00");
            }
        }