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"); } }
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"); } }
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"); } }