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()); }
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); }