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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }