public void CalculateTotalTax_WithMultipleItems_CalculatesTaxValue() { //arrange double price = 45.35; int quantity = 4; ShoppingBasketItem item = new ShoppingBasketItem(new Product("test", price), quantity); double expectedTax = item.CalculateSingleItemTax() * quantity; //act double actualTax = item.CalculateTotalTax(); //assert Assert.AreEqual(expectedTax, actualTax, "total tax incorrectly calculated for item with quantity of 4"); }
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"); }