public async Task ReferenceCalculation() { using (var context = new ProductHierarchyContext()) { var ppc = new ProductPriceCalculator(); var costs = await ppc.CalculateProductPriceAsync(context); Assert.AreEqual(40240.31m, costs); } }
public App(IProductService productService, ICampaignService campaignService, IOrderService orderService, ITimeService timeService) { _productService = productService; _campaignService = campaignService; _orderService = orderService; _timeService = timeService; priceCalculatorModel = new PriceCalculatorModel { ProductService = _productService, CampaignService = _campaignService, OrderService = _orderService }; var productPriceCalculator = new ProductPriceCalculator(priceCalculatorModel); _productService.OnProductCreated += s => priceCalculatorModel.ProductCode = s; _campaignService.OnCampaignCreated += s => priceCalculatorModel.CampaignCode = s; _timeService.OnTimeIncreased += productPriceCalculator.Calculate; }
public ScenarioFixtures() { var uow = new MemoryUnitOfWork(); ProductService = new ProductService(uow); TimeService = new TimeService(); CampaignService = new CampaignService(uow, TimeService); OrderService = new OrderService(uow); var priceCalculatorModel = new PriceCalculatorModel { ProductService = ProductService, CampaignService = CampaignService, OrderService = OrderService }; var productPriceCalculator = new ProductPriceCalculator(priceCalculatorModel); ProductService.OnProductCreated += s => priceCalculatorModel.ProductCode = s; CampaignService.OnCampaignCreated += s => priceCalculatorModel.CampaignCode = s; TimeService.OnTimeIncreased += productPriceCalculator.Calculate; }