コード例 #1
0
        static void Main()
        {
            var babyCategory       = new Category("Baby");
            var electronicCategory = new Category("Electronic");
            var tvCategory         = new Category("Tv", electronicCategory);
            var ledTvCategory      = new Category("Led Tv", tvCategory);

            var diaper    = new Product("Prima Diaper", 160, babyCategory);
            var toshibaTv = new Product("Toshiba Tv", 50, ledTvCategory);
            var samsungTv = new Product("Samsung UHD Tv", 250, tvCategory);

            var campaignForElectronic = new Campaign(electronicCategory, 5, 5, DiscountType.Rate);
            var campaignForLedTv      = new Campaign(ledTvCategory, 550, 1, DiscountType.Amount);

            IDeliveryCostCalculator deliveryCostCalculator = new DeliveryCostCalculator(
                double.Parse(ConfigurationManager.AppSettings["CostPerDeliveryInTry"].Replace('.', ',')),
                double.Parse(ConfigurationManager.AppSettings["CostPerProductInTry"].Replace('.', ',')),
                double.Parse(ConfigurationManager.AppSettings["FixedCostInTry"].Replace('.', ',')));

            IShoppingCart cart = new Business.Objects.ShoppingCart(deliveryCostCalculator);

            cart.AddItem(diaper, 10);
            cart.AddItem(toshibaTv, 5);
            cart.AddItem(samsungTv, 1);

            cart.ApplyDiscounts(campaignForElectronic, campaignForLedTv);

            cart.ApplyCoupon(new Coupon(100, 400, DiscountType.Amount));

            Console.WriteLine(cart.Print());
        }
コード例 #2
0
        public void SetUp()
        {
            var deliveryCostCalculator = new Mock <IDeliveryCostCalculator>();

            deliveryCostCalculator.Setup(x => x.CalculateFor(It.IsAny <IShoppingCart>())).Returns(50);
            Cart = new Business.Objects.ShoppingCart(deliveryCostCalculator.Object);
        }