public void CartCheckout_ValidOrders_NoUser_Fails() { var wineToBuy = new Wine { Name = "Great red wine" }; cart.User = null; cart.AddLineToCart(new OrderLine(wineToBuy) { Quantity = 2 }); Assert.Throws<InvalidOperationException>(() => cart.CheckOut()); }
public OrderLine(Wine wineToBuy) { if (wineToBuy == null) throw new ArgumentNullException("wineToBuy"); _wineToBuy = wineToBuy; Quantity = 1; }
public void CartAddLessOrZeroQuantityElements_Fails(int lessQuantity) { var wineToBuy = new Wine { Name = "Great red wine" }; var line = new OrderLine(wineToBuy) { Quantity = lessQuantity, Price = 10 }; Assert.Throws<InvalidOperationException>(() => cart.AddLineToCart(line)); }
public void CartCheckoutPriceOK_OneLine() { var wineToBuy = new Wine { Name = "Great red wine" }; var line = new OrderLine(wineToBuy) { Quantity = 5, Price = 50 }; cart.AddLineToCart(line); cart.CheckOut(); Assert.AreEqual(250, cart.TotalPrice); }