Пример #1
0
        public void CalculateDeliveryCost_ShouldThrowArgumentNullException_IfParameterNull()
        {
            Category               electronicCategory     = new Category(CategoryType.Electronic);
            Product                television             = new Product("Television", 2000, electronicCategory);
            ShoppingCart           shoppingCart           = new ShoppingCart();
            DeliveryCostCalculator deliveryCostCalculator = new DeliveryCostCalculator(10, 5, 10, null, new StandardCalculatorStrategy());

            shoppingCart.AddProduct(television, 10);
            int numberOfProducts = shoppingCart.GetNumberOfProducts();

            Assert.Throws <ArgumentNullException>(() => deliveryCostCalculator.CalculateCost());
        }
Пример #2
0
        public void CalculateDeliveryCost_ShouldWorkCorrectly_IfStandardAlgorithmApplied()
        {
            Category               electronicCategory     = new Category(CategoryType.Electronic);
            Product                television             = new Product("Television", 2000, electronicCategory);
            ShoppingCart           shoppingCart           = new ShoppingCart();
            DeliveryCostCalculator deliveryCostCalculator = new DeliveryCostCalculator(10, 5, 10, shoppingCart, new StandardCalculatorStrategy());

            shoppingCart.AddProduct(television, 10);
            int     numberOfProducts = shoppingCart.GetNumberOfProducts();
            decimal deliveryCost     = deliveryCostCalculator.CalculateCost();

            Assert.Equal(25M, deliveryCost);
        }