示例#1
0
        public void Test_GenerateBillFor2Apples3Oranges()
        {
            CheckoutSystem checkoutSystem = new CheckoutSystem();

            List <string> itemList = new List <string> {
                "Apple", "Apple", "Orange", "Orange", "Orange"
            };
            string result = checkoutSystem.GenerateBill(itemList, false);

            Assert.AreEqual("£1.95", result);
        }
示例#2
0
        public void Test_GenerateBillFor3Apples1Orange()
        {
            CheckoutSystem checkoutSystem = new CheckoutSystem();

            List <string> itemList = new List <string> {
                "Apple", "Apple", "Apple", "Orange"
            };
            string result = checkoutSystem.GenerateBill(itemList);

            Assert.AreEqual("£2.05", result);
        }
示例#3
0
        public void GenerateBillForShoppingCart_ContainingApplesWithBuyOneGetOneOffer_Test()
        {
            //given
            CheckoutSystem checkoutSystem = new CheckoutSystem(new OfferServiceFactory());

            List <string> itemList = new List <string> {
                "Apple", "Apple", "Apple", "Apple"
            };
            string result = checkoutSystem.GenerateBill(itemList, true);

            List <string> itemList1 = new List <string> {
                "Apple", "Apple", "Apple"
            };
            string result1 = checkoutSystem.GenerateBill(itemList1, true);

            Assert.AreEqual("£1.20", result);
            Assert.AreEqual("£1.20", result1);
        }
示例#4
0
        public void GenerateBillForShoppingCart_ContainingApplesandOrangeswithOffers_Test()
        {
            CheckoutSystem checkoutSystem = new CheckoutSystem(new OfferServiceFactory());

            List <string> itemList = new List <string> {
                "Apple", "Apple", "Apple", "Orange"
            };
            string result = checkoutSystem.GenerateBill(itemList, true);

            List <string> itemList1 = new List <string> {
                "Apple", "Apple", "Apple", "Orange", "Orange", "Orange"
            };
            string result1 = checkoutSystem.GenerateBill(itemList1, true);

            List <string> itemList2 = new List <string> {
                "Apple", "Apple", "Orange", "Orange", "Orange"
            };
            string result2 = checkoutSystem.GenerateBill(itemList2, true);

            Assert.AreEqual("£1.45", result);
            Assert.AreEqual("£1.70", result1);
            Assert.AreEqual("£1.10", result2);
        }
示例#5
0
        public void GenerateBillForShoppingCart_ContainingOrangesAfterBuy3for2Offer_Test()
        {
            //given
            CheckoutSystem checkoutSystem = new CheckoutSystem(new OfferServiceFactory());

            List <string> itemList = new List <string> {
                "Orange", "Orange", "Orange", "Orange"
            };
            string result = checkoutSystem.GenerateBill(itemList, true);

            List <string> itemList1 = new List <string> {
                "Orange", "Orange", "Orange", "Orange", "Orange", "Orange"
            };
            string result1 = checkoutSystem.GenerateBill(itemList1, true);

            List <string> itemList2 = new List <string> {
                "Orange", "Orange", "Orange", "Orange", "Orange"
            };
            string result2 = checkoutSystem.GenerateBill(itemList2, true);

            Assert.AreEqual("£0.75", result);
            Assert.AreEqual("£1.00", result1);
            Assert.AreEqual("£1.00", result2);
        }
示例#6
0
 public CheckoutSystemIntegrationTest()
 {
     _checkoutSystem = new CheckoutSystem(new OfferServiceFactory());
 }