Example #1
0
        public void ShouldReturnNoGiftsWhenNoBowls()
        {
            // Arrange
            var basket = new Basket(new DummyDiscountProvider(), new DummyGiftProvider());

            // Sut
            var giftCalculator = new LargeBowlOfTrifleCalculator();

            // Act
            var gift = giftCalculator.CalculateGift(basket);

            // Assert
            Assert.IsNull(gift);
        }
Example #2
0
        public void ShouldReturnPaperMaskWhenBowlIsInBasket()
        {
            // Arrange
            var basket = new Basket(new DummyDiscountProvider(), new DummyGiftProvider());

            basket.AddBasketItem(new Product(_bowlOfTrifleId, "Bowl Of Trifle", _bowlOfTriflePrice));

            // Sut
            var giftCalculator = new LargeBowlOfTrifleCalculator();

            // Act
            var gift = giftCalculator.CalculateGift(basket);

            // Assert
            Assert.IsNotNull(gift);
            Assert.IsTrue(gift.Id == _paperMaskId, "Product Id should be Paper Mask Id");
            Assert.AreEqual(gift.UnitPrice, 0, "Product Price should be 0");
        }