Пример #1
0
        public void BasketTotal_GivenTwoButterBread_ReturnsTotal310p()
        {
            //Given
            List <IPromoOffer> promoOffers = new List <IPromoOffer>();

            promoOffers.Add(new PromoOfferHalfOffBreadForTwoButters());
            var promoCalculator = new PromoOfferDiscountCalculator(promoOffers);
            var basket          = new Basket(promoCalculator);
            var Bread           = new BasketItem()
            {
                ProductName = "Bread", Quantity = 2, Price = 1.00m
            };
            var Butter = new BasketItem()
            {
                ProductName = "Butter", Quantity = 2, Price = 0.80m
            };

            basket.AddItem(Bread);
            basket.AddItem(Butter);

            //When
            var result = basket.TotalwithDiscount();

            //Then
            Assert.That(result, Is.EqualTo(3.10m));
        }
Пример #2
0
        public void BasketTotal_GivenTwoButterOneBreadEightMilk_ReturnsTotal900p()
        {
            //Given
            List <IPromoOffer> promoOffers = new List <IPromoOffer>();

            promoOffers.Add(new PromoOfferHalfOffBreadForTwoButters());
            promoOffers.Add(new PromoOfferBuyThreeMilkGetOneFree());
            var promoCalculator = new PromoOfferDiscountCalculator(promoOffers);
            var basket          = new Basket(promoCalculator);
            var Bread           = new BasketItem()
            {
                ProductName = "Bread", Quantity = 1, Price = 1.00m
            };
            var Butter = new BasketItem()
            {
                ProductName = "Butter", Quantity = 2, Price = 0.80m
            };
            var Milk = new BasketItem()
            {
                ProductName = "Milk", Quantity = 8, Price = 1.15m
            };

            basket.AddItem(Bread);
            basket.AddItem(Butter);
            basket.AddItem(Milk);

            //When
            var result = basket.TotalwithDiscount();

            //Then
            Assert.That(result, Is.EqualTo(9.00m));
        }
Пример #3
0
        public void BasketTotal_GivenFourMilk_ReturnsTotal345p()
        {
            //Given
            List <IPromoOffer> promoOffers = new List <IPromoOffer>();

            promoOffers.Add(new PromoOfferBuyThreeMilkGetOneFree());
            var promoCalculator = new PromoOfferDiscountCalculator(promoOffers);
            var basket          = new Basket(promoCalculator);
            var Milk            = new BasketItem()
            {
                ProductName = "Milk", Quantity = 4, Price = 1.15m
            };

            basket.AddItem(Milk);

            //When
            var result = basket.TotalwithDiscount();

            //Then
            Assert.That(result, Is.EqualTo(3.45m));
        }