public void CalculateTotalCost_WithMultipleItems_CalculatesTotalCost() { //arrange double price = 12.5; int quantity = 3; ShoppingBasketItem item = new ShoppingBasketItem(new Product("test", price), quantity); double expectedTax = (item.CalculateSingleItemTax() + price) * quantity; //act double actualTax = item.CalculateTotalCost(); //assert Assert.AreEqual(expectedTax, actualTax, "total cost incorrectly calculated for item with quantity of 3"); }
public void AddItem_WithNewBasket_UpdatesTotals() { //arrange ShoppingBasket basket = new ShoppingBasket(); ShoppingBasketItem item = new ShoppingBasketItem(new Product("test", 5.5, ProductType.Other)); double expetedTotalCost = item.CalculateTotalCost(); double expectedTotalTax = item.CalculateTotalTax(); //act basket.AddItem(item); //assert Assert.AreEqual(expectedTotalTax, basket.TotalTax, "Total tax not updated correctly"); Assert.AreEqual(expetedTotalCost, basket.TotalCost, "Total cost not update correctly"); }
public void AddItem_WithMultipleItems_UpdatesTotals() { //arrange ShoppingBasket basket = new ShoppingBasket(); ShoppingBasketItem item1 = new ShoppingBasketItem(new Product("test", 5.5, ProductType.Other)); ShoppingBasketItem item2 = new ShoppingBasketItem(new Product("test", 8.75, ProductType.Food)); double expetedTotalCost = item1.CalculateTotalCost() + item2.CalculateTotalCost(); double expectedTotalTax = item1.CalculateTotalTax() + item2.CalculateTotalTax(); //act basket.AddItem(item1); basket.AddItem(item2); //assert Assert.AreEqual(expectedTotalTax, basket.TotalTax, "Total tax not updated correctly"); Assert.AreEqual(expetedTotalCost, basket.TotalCost, "Total cost not update correctly"); }
/// <summary> /// Displays the details of a single item to the console. /// </summary> public override void DisplayReport() { Console.WriteLine(string.Format("{0} {1} at {2}", _item.Quantity, GetItemDisplayName(), FormatPrice(_item.CalculateTotalCost()))); }