Exemplo n.º 1
0
    public void When_coupon_is_XMAS_discount_is_25()
    {
        IDiscountStrategy xmasDiscount = new XmasDiscountSrtategy();
        var discountCalculatorService  = new DiscountCalculatorService(xmasDiscount);
        var order    = OrderFactory.CreateOrder_XMAS();
        var discount = discountCalculatorService.CalculateDiscount(order);

        Assert.AreEqual(25, discount);
    }
Exemplo n.º 2
0
    public void  When_coupon_is_NEWYR_discount_is_15()
    {
        IDiscountStrategy NewyrDiscount = new NewyrDiscountStrategy();
        var discountCalculatorService   = new DiscountCalculatorService(NewyrDiscount);
        var order    = OrderFactory.CreateOrder_NEWYR();
        var discount = discountCalculatorService.CalculateDiscount(order);

        Assert.AreEqual(15, discount);
    }
Exemplo n.º 3
0
    public void  When_coupon_is_BLACKFRI_discount_is_35()
    {
        IDiscountStrategy blackFriDiscount = new BlackfriDiscountStrategy();
        var discountCalculatorService      = new DiscountCalculatorService(blackFriDiscount);
        var order    = OrderFactory.CreateOrder_BLACKFRI();
        var discount = discountCalculatorService.CalculateDiscount(order);

        Assert.AreEqual(35d, discount);
    }
Exemplo n.º 4
0
        public void When_Apply_InStock_Group_Discount_The_Cost_Is_10_Percent_Lest()
        {
            _calculatorArgs.Discount = 0.90m;

            var strategy = new InStockDiscountStrategy();
            var discountCalculatorService = new DiscountCalculatorService(strategy);
            var finalPrice = discountCalculatorService.ApplyDiscountMethod(_calculatorArgs);

            Assert.AreEqual(3150, finalPrice);
        }
Exemplo n.º 5
0
        public void When_Apply_Coupon_Discount_And_Amount_From_3000_The_Cost_Is_1000_Lest()
        {
            _calculatorArgs.DiscountSum = 1000;

            var strategy = new CouponDiscountStrategy();
            var discountCalculatorService = new DiscountCalculatorService(strategy);
            var finalPrice = discountCalculatorService.ApplyDiscountMethod(_calculatorArgs);

            Assert.AreEqual(3000, finalPrice);
        }
Exemplo n.º 6
0
        public void Check_The_Price_Didnot_Change()
        {
            _calculatorArgs.Brand = null;

            var strategy = new BrandGroupDiscountStrategy();
            var discountCalculatorService = new DiscountCalculatorService(strategy);
            var finalPrice = discountCalculatorService.ApplyDiscountMethod(_calculatorArgs);

            Assert.AreEqual(4000, finalPrice);
        }
Exemplo n.º 7
0
        public void When_Apply_Brand_Group_Discount_The_Cost_Is_5_Percent_Lest()
        {
            _calculatorArgs.Brand    = "Nokia";
            _calculatorArgs.Discount = 0.95m;

            var strategy = new BrandGroupDiscountStrategy();
            var discountCalculatorService = new DiscountCalculatorService(strategy);
            var finalPrice = discountCalculatorService.ApplyDiscountMethod(_calculatorArgs);

            Assert.AreEqual(1425, finalPrice);
        }
Exemplo n.º 8
0
        static void Main(string[] args)
        {
            ICustomerRepository        customerRepo    = new CustomerRepository();
            IProductRepository         productRepo     = new ProductRepository();
            IOrderRepository           ordersRepo      = new OrderRepository();
            IDiscountRepository        discountRepo    = new DiscountRepository();
            IDiscountCalculatorService discountService = new DiscountCalculatorService();

            var product = productRepo.GetAll.First();

            var discounts = discountRepo.GetAll.ToList();

            product.Discount = discounts[1];
            addToStore(product, 10);
            addToStore(product, 5);
            addToStore(product, 15);
            Console.WriteLine(discountService.Calculate(Cart));
            Console.ReadKey();
        }