示例#1
0
        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");
        }
示例#2
0
        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");
        }
示例#3
0
        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())));
 }