public void it_can_calculate_the_proper_shipping_costs()
        {
            Dictionary <Product, int> cart = new Dictionary <Product, int>();

            cart.Add(new Product("Shirt", 4.95), 5);
            CartCalculator cartCalculator = new CartCalculator(cart, CartCalculator.CustomerType.Business, CartCalculator.Region.Europe);
        }
Пример #2
0
        public IActionResult Index(Cart cart)
        {
            var currentPromos = _promoRepository.Find(kvp => kvp.Value == cart.IncludePromotions).Result;

            CartCalculator calculator = new CartCalculator(currentPromos);

            calculator.Calculate(cart);
            return(View(cart));
        }
        public void it_can_have_a_cart_and_calculate_the_total_costs()
        {
            // Unit-Tests -> Integration-Test (blurry line)
            Dictionary <Product, int> cart = new Dictionary <Product, int>();

            cart.Add(new Product("Shirt", 4.95), 5);
            CartCalculator cartCalculator = new CartCalculator(cart, CartCalculator.CustomerType.Business, CartCalculator.Region.Europe);

            Assert.AreEqual(4.95 * 5 + 7.95, cartCalculator.GetTotal());
        }
        public void it_can_differentiate_customer_types_and_choose_tax_amount_properly()
        {
            Dictionary <Product, int> cart = new Dictionary <Product, int>();

            cart.Add(new Product("Shirt", 4.95), 5);
            CartCalculator cartCalculator = new CartCalculator(cart, CartCalculator.CustomerType.Business, CartCalculator.Region.Europe);

            Assert.AreEqual(4.95 * 5 + 7.95, cartCalculator.GetTotal());

            CartCalculator cartCalculatorTwo = new CartCalculator(cart, CartCalculator.CustomerType.Standard, CartCalculator.Region.Europe);

            Assert.AreEqual(24.75 + (24.75 / 100) * 19 + 7.95, cartCalculatorTwo.GetTotal());
        }
Пример #5
0
        static void Main(string[] args)
        {
            //initilise the cart with the requested items
            Cart           cart           = new Cart(args);
            CartCalculator cartCalculator = new CartCalculator(cart.CartItems);

            cartCalculator.ApplyDiscounts();

            foreach (CartItem cartItem in cart.CartItems)
            {
                Console.WriteLine($"{cartItem.Quantity} x {cartItem.Name} = {cartItem.Total:c}");
            }
            Console.WriteLine($"Subtotal: {cartCalculator.SubTotal:c}");
            Console.Write(cartCalculator.DiscountDescriptions);
            Console.WriteLine($"Total: {cartCalculator.Total:c}");

            Console.ReadKey();
        }
Пример #6
0
 public CartViewModel(CartCalculator cartCalculator)
 {
     this.cartCalculator = cartCalculator;
 }