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 ShouldMapACustomTypePairInline() { using (var mapper = Mapper.CreateNew()) { Product product = new MegaProduct { ProductId = "Pretty-Darn-Mega", Price = 99.99, HowMega = 0.99m }; var result = mapper .Map(product) .ToANew <ProductDto>(cfg => cfg .Map <MegaProduct>() .To <ProductDtoMega>()); result.ShouldBeOfType <ProductDtoMega>(); result.ProductId.ShouldBe("Pretty-Darn-Mega"); result.Price.ShouldBe(99.99m); ((ProductDtoMega)result).HowMega.ShouldBe("0.99"); } }