public void TotalPriceWith1Multiple() { var checkout = new Checkout(); var item = new Item(); item.SKU = "A"; item.Price = 50; checkout.AddItem( item ); item = new Item(); item.SKU = "B"; item.Price = 30; item.Offer = new Offer() { Price = 80, Quantity = 3 }; checkout.AddItem( item ); for ( int i = 0; i < 2; i++ ) { item = new Item(); item.SKU = "B"; item.Price = 30; checkout.AddItem( item ); } Assert.AreEqual( 130, checkout.TotalPrice() ); }
public void AddExistingItem() { var checkout = new Checkout(); Dictionary<string, CartItem> cartList = new Dictionary<string, CartItem>(); var item = new Item(); item.SKU = "B"; item.Price = 30; cartList.Add( item.SKU, new CartItem() { Item = item, Quantity = 1 } ); checkout.AddItem( item ); item = new Item(); item.SKU = "A"; item.Price = 50; cartList.Add( item.SKU, new CartItem() { Item = item, Quantity = 1 } ); checkout.AddItem( item ); item = new Item(); item.SKU = "B"; item.Price = 30; cartList[ item.SKU ].Quantity++; checkout.AddItem( item ); CollectionAssert.AreEquivalent( cartList, checkout.CartList ); }
public void TotalPrice2DifferentItems() { var checkout = new Checkout(); var item = new Item(); item.SKU = "A"; item.Price = 50; checkout.AddItem( item ); item = new Item(); item.SKU = "B"; item.Price = 30; item.Offer = new Offer() { Price = 80, Quantity = 3 }; checkout.AddItem( item ); Assert.AreEqual( 80, checkout.TotalPrice() ); }