public void ItemExists_ReturnsItemPrice() { //Arrange var priceStrategies = new IItemPriceStrategy[] { new BasketItemSkuAItemPriceStrategy() }; var basket = new Basket(); var basketService = new BasketService(basket, priceStrategies); basketService.AddItem(new BasketItemSkuA()); //Act var totalPrice = basketService.GetTotal(); //Assert Assert.Equal(new BasketItemSkuA().Price, totalPrice); }
public void ThreeForFortyPromotion_OneExists_ReturnsItemPrice() { //Arrange var priceStrategies = new IItemPriceStrategy[] { new BasketItemSkuBItemPriceStrategy() }; var basket = new Basket(); basket.AddItem(new BasketItemSkuB()); var basketService = new BasketService(basket, priceStrategies); //Act var totalPrice = basketService.GetTotal(); //Assert Assert.Equal(new BasketItemSkuB().Price, totalPrice); }
public void PercentageOffPromotion_MultipleD_ReturnsTotalDiscountedPrice() { //Arrange var priceStrategies = new IItemPriceStrategy[] { new BasketItemSkuDItemPriceStrategy() }; var basket = new Basket(); basket.AddItem(new BasketItemSkuD()); basket.AddItem(new BasketItemSkuD()); var basketService = new BasketService(basket, priceStrategies); //Act var totalPrice = basketService.GetTotal(); //Assert Assert.Equal((decimal)82.50, totalPrice); }