public async Task PriceServiceAddsPricesInOrder() { var priceService = new PriceService(new List <IPriceProvider> { new DummyPriceProvider(4, 4.0m), new DummyPriceProvider(2, 2.0m), new DummyPriceProvider(1, 1.0m), new DummyPriceProvider(3, 3.0m) }); var cart = new ShoppingCart(new ShoppingCartItem(1, "foo")); cart = cart.With(await priceService.AddPrices(cart.Items)); Assert.Collection(cart.Items.Single().Prices, p => Assert.Equal(1.0m, p.Price.Value), p => Assert.Equal(2.0m, p.Price.Value), p => Assert.Equal(3.0m, p.Price.Value), p => Assert.Equal(4.0m, p.Price.Value)); }
public void PriceServiceAddsPricesInOrder() { var priceService = new PriceService(new List <IPriceProvider> { new DummyPriceProvider(4, 4.0m), new DummyPriceProvider(2, 2.0m), new DummyPriceProvider(1, 1.0m), new DummyPriceProvider(3, 3.0m) }); var item = new ShoppingCartItem(1, BuildProduct(50.0M)); var cart = new List <ShoppingCartItem> { item }; priceService.AddPrices(cart); Assert.Collection(item.Prices, p => Assert.Equal(1.0m, p.Price.Value), p => Assert.Equal(2.0m, p.Price.Value), p => Assert.Equal(3.0m, p.Price.Value), p => Assert.Equal(4.0m, p.Price.Value)); }
public async Task PriceServiceAddsPricesInOrder() { var priceService = new PriceService(new List <IPriceProvider> { new DummyPriceProvider(4, 4.0m), new DummyPriceProvider(2, 2.0m), new DummyPriceProvider(1, 1.0m), new DummyPriceProvider(3, 3.0m) }); var item = new ShoppingCartItem(1, "foo"); var cart = new List <ShoppingCartItem> { item }; await priceService.AddPrices(cart); Assert.Collection(item.Prices, p => Assert.Equal(1.0m, p.Value), p => Assert.Equal(2.0m, p.Value), p => Assert.Equal(3.0m, p.Value), p => Assert.Equal(4.0m, p.Value)); }