public void GetTotalPriceShouldReturnTheSumPriceOfEverythingAddedToTheBasket() { var item1 = new SB.Item("Item1", 50); var item2 = new SB.Item("Item2", 45); sut = sut.AddItem(item1).AddItem(item2); var totalPrice = SB.BasketCalculator.GetTotalPrice(sut); Assert.AreEqual(item2.Price + item1.Price, totalPrice); }
public void GetTotalPriceWithDiscountShouldDiscountTheTotalPrice() { var item = new SB.Item("item1", 200); sut = sut.AddItem(item); var totalPriceWithDiscount = SB.BasketCalculator.GetTotalPriceWithDiscount( SB.BasketCalculator.GetTotalPrice(sut)); Assert.AreEqual(item.Price * .9, totalPriceWithDiscount); }
public void GetTotalPricePlusDeliveryShouldReturnTheTotalPricePlusTheDeliveryCharges() { var item1 = new SB.Item("Item1", 50); sut = sut.AddItem(item1); var totalPricePlusDelivery = SB.BasketCalculator.GetTotalPricePlusDelivery( SB.BasketCalculator.GetTotalPrice(sut), sut.NumberOfItems); Assert.AreEqual(item1.Price + 0.5 + 2.5, totalPricePlusDelivery); }
public void GetTotalPricePlusVatShouldreturnTheTotalPricePlusDeliveryMultipliedByTheVat() { var item1 = new SB.Item("Item1", 50); sut = sut.AddItem(item1); var totalPricePlusDelivery = SB.BasketCalculator.GetTotalPricePlusVat( SB.BasketCalculator.GetTotalPricePlusDelivery( SB.BasketCalculator.GetTotalPrice(sut), sut.NumberOfItems)); Assert.AreEqual((item1.Price + 0.5 + 2.5) * 1.2, totalPricePlusDelivery); }
static void Main(string[] args) { var shoppingBasket = new ShoppingBasket.ShoppingBasket(); var bread = new Bread { Price = 1, Amount = 6 }; var eggs = new Egg { Price = 0.8, Amount = 2 }; //Every third bread is 50 % off Discount <Bread> breadDiscount = new Discount <Bread> { Amount = 2, DiscountPercentage = 50, Offset = 1 }; //Every bread is 50 % off Discount <Bread> breadDiscount2 = new Discount <Bread> { Amount = 1, DiscountPercentage = 50, Offset = 0 }; //Discount<Bread> breadDiscount = new Discount<Bread> //{ // Amount = 2, // DiscountPercentage = 100, //}; shoppingBasket.Add(bread); shoppingBasket.Add(breadDiscount2); Console.WriteLine("Test"); Console.WriteLine($"Total price: {shoppingBasket.GetPrice().ToString()}"); Console.ReadKey(); }
public static double GetTotalPrice(ShoppingBasket items) { return items.Sum(item => item.Price); }
public void SetUp() { this.inventoryServiceMock = new Mock<IInventoryService>(); this.inventoryServiceMock.Setup(inventory => inventory.IsItemAvailable(It.IsAny<ShoppingItem>())).Returns(true); this.shoppingBasket = new ShoppingBasket(this.inventoryServiceMock.Object); }