Exemple #1
0
        public void BasketWithBreadOfferNoDiscountTest()
        {
            var     productFactory = new ProductFactory();
            IBasket basket         = new Basket();
            IBasket sut            = new BasketWithBreadOffer(basket);

            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Bread"));
            sut.AddProduct(productFactory.GetProduct("Milk"));

            Assert.AreEqual(2.95M, sut.Total);
        }
        public void TestBasketTotaling()
        {
            IBasket basket = new Basket();
            IBasket basketWithBreadOffer = new BasketWithBreadOffer(basket);
            IBasket sut            = new BasketWithMilkOffer(basketWithBreadOffer);
            var     productFactory = new ProductFactory();

            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Bread"));
            sut.AddProduct(productFactory.GetProduct("Milk"));

            Assert.AreEqual(2.95M, basket.Total);
        }
        public void BasketWith4MilkTest()
        {
            var     productFactory       = new ProductFactory();
            IBasket basket               = new Basket();
            IBasket basketWithBreadOffer = new BasketWithBreadOffer(basket);
            IBasket sut = new BasketWithMilkOffer(basketWithBreadOffer);

            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));

            Assert.AreEqual(3.45M, sut.Total);
        }
Exemple #4
0
        public void BasketWithBreadOfferOneDiscountButTwoPossibleDiscountsTest()
        {
            var     productFactory = new ProductFactory();
            IBasket basket         = new Basket();
            IBasket sut            = new BasketWithBreadOffer(basket);

            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Bread"));
            sut.AddProduct(productFactory.GetProduct("Milk"));

            Assert.AreEqual(4.85M, sut.Total);
        }
Exemple #5
0
        public void BasketWith3BreadAnd4ButterTest()
        {
            var     productFactory = new ProductFactory();
            IBasket basket         = new Basket();
            IBasket sut            = new BasketWithBreadOffer(basket);

            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Bread"));
            sut.AddProduct(productFactory.GetProduct("Bread"));
            sut.AddProduct(productFactory.GetProduct("Bread"));

            Assert.AreEqual(5.20M, sut.Total);
        }
        public void BasketWith8Milk2Butter1BreadTest()
        {
            var     productFactory       = new ProductFactory();
            IBasket basket               = new Basket();
            IBasket basketWithBreadOffer = new BasketWithBreadOffer(basket);
            IBasket sut = new BasketWithMilkOffer(basketWithBreadOffer);

            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Milk"));
            sut.AddProduct(productFactory.GetProduct("Butter"));
            sut.AddProduct(productFactory.GetProduct("Bread"));
            sut.AddProduct(productFactory.GetProduct("Butter"));

            Assert.AreEqual(9.00M, sut.Total);
        }