public static void One_B_Item_Costs_100()
 {
     var cart = new ShoppingCart(nullProcessor);
     var bItem1 = new Item {Name = "B", Price = 100};
     cart.AddItem(bItem1);
     Assert.AreEqual(cart.Total, 100);
 }
 public static void One_A_Item_Costs_50()
 {
     var cart = new ShoppingCart(nullProcessor);
     var aItem1 = new Item {Name = "A", Price = 50};
     cart.AddItem(aItem1);
     Assert.AreEqual(cart.Total, 50);
 }
        public static void Four_A_Items_And_Two_B_Items_Costs_225()
        {
            var cart = new ShoppingCart(discountProcessors);
            var aItem1 = new Item { Name = "A", Price = 50 };
            var aItem2 = new Item { Name = "A", Price = 50 };
            var aItem3 = new Item { Name = "A", Price = 50 };
            var aItem4 = new Item { Name = "A", Price = 50 };
            var bItem1 = new Item { Name = "B", Price = 30 };
            var bItem2 = new Item { Name = "B", Price = 30 };

            cart.AddItem(aItem1);
            cart.AddItem(aItem2);
            cart.AddItem(aItem3);
            cart.AddItem(aItem4);
            cart.AddItem(bItem1);
            cart.AddItem(bItem2);
            Assert.AreEqual(cart.Total, 225);
        }
 public static void Empty_Cart_Total_Value_Is_Zero()
 {
     var cart = new ShoppingCart(nullProcessor);
     Assert.AreEqual(cart.Total, 0);
 }
 public static void Two_A_Items_Costs_100()
 {
     var cart = new ShoppingCart(nullProcessor);
     var aItem1 = new Item {Name = "A", Price = 50};
     var aItem2 = new Item {Name = "A", Price = 50};
     cart.AddItem(aItem1);
     cart.AddItem(aItem2);
     Assert.AreEqual(cart.Total, 100);
 }
 public static void Three_A_Items_Applies_Discount_Costing_130()
 {
     var aItemDiscountProcessor = new AItemDiscountProcessor();
     var cart = new ShoppingCart(new List<IDiscountProcessor> {aItemDiscountProcessor});
     var aItem1 = new Item {Name = "A", Price = 50};
     var aItem2 = new Item {Name = "A", Price = 50};
     var aItem3 = new Item {Name = "A", Price = 50};
     cart.AddItem(aItem1);
     cart.AddItem(aItem2);
     cart.AddItem(aItem3);
     Assert.AreEqual(cart.Total, 130);
 }