public Order Checkout() { var subTotal = _items.Values.Select(cartItem => cartItem.TotalPrice).Sum(); var discounts = _discountStore.GetDiscounts().SelectMany(d => d.Apply(_items.Values)).ToList(); var discountsAmount = discounts.Select(d => d.Amount).Sum(); var total = subTotal - discountsAmount; return(new Order(subTotal, total, discounts)); }
public CartTests() { Milk = new Product("Milk", 1.0m); Bread = new Product("Bread", 1.5m); Apples = new Product("Apples", 1.25m); DiscountStore = Substitute.For <IDiscountStore>(); Sut = new Cart(DiscountStore); DiscountStore.GetDiscounts().Returns(new List <Discount>()); }