public void ParseTestEmptyList()
        {
            float          sum            = 0;
            PromotionType3 promotionType3 = new PromotionType3();
            var            cost           = promotionType3.Parse(new List <SKUItems>());

            Assert.AreEqual(sum, cost);
        }
        public void ParseTestListVar2()
        {
            float          sum            = 0;
            DummyCart      dummyCart      = new DummyCart();
            var            listItems      = dummyCart.Generate0Promotion3();
            PromotionType3 promotionType3 = new PromotionType3();
            var            cost           = promotionType3.Parse(listItems);

            Assert.AreEqual(sum, cost);
            Assert.AreEqual(2, listItems.Count());
        }
        public void ParseTest()
        {
            float          sum            = 30;
            DummyCart      dummyCart      = new DummyCart();
            var            listItems      = dummyCart.Generate();
            PromotionType3 promotionType3 = new PromotionType3();
            var            cost           = promotionType3.Parse(listItems);

            Assert.AreEqual(sum, cost);
            Assert.AreEqual(3, listItems.Count());
            Assert.AreEqual(2, listItems.Where(t => t.sKU.GetType() == typeof(SKU_C)).FirstOrDefault().count);
        }
Ejemplo n.º 4
0
        public float ParseCost(List <SKUItems> sKUItems)
        {
            float           totalCost = 0;
            IPromotionLogic runningPromotion;

            runningPromotion = new PromotionType1();
            totalCost       += runningPromotion.Parse(sKUItems);

            runningPromotion = new PromotionType2();
            totalCost       += runningPromotion.Parse(sKUItems);

            runningPromotion = new PromotionType3();
            totalCost       += runningPromotion.Parse(sKUItems);


            foreach (var item in sKUItems)
            {
                totalCost += item.count * item.sKU.GetCost();
            }

            return(totalCost);
        }