Esempio n. 1
0
        public void Can_Clear_Content()
        {
            var mock = new CartMock();
            var cart = mock.Cart;

            cart.AddItem(mock.P1, 1);
            cart.AddItem(mock.P2, 1);
            cart.Clear();

            Assert.AreEqual(0, cart.Lines.Count());
        }
Esempio n. 2
0
        public void Calculate_Cart_Total()
        {
            var mock = new CartMock();
            var cart = mock.Cart;

            cart.AddItem(mock.P1, 1);
            cart.AddItem(mock.P2, 1);
            cart.AddItem(mock.P1, 3);
            var result = cart.ComputeTotalValue();

            Assert.AreEqual(450M, result);
        }
Esempio n. 3
0
        public void Can_Add_New_Lines()
        {
            var mock = new CartMock();
            var cart = mock.Cart;

            cart.AddItem(mock.P1, 1);
            cart.AddItem(mock.P2, 1);
            var result = cart.Lines.ToArray();

            Assert.AreEqual(2, result.Length);
            Assert.AreEqual(mock.P1, result[0].Product);
            Assert.AreEqual(mock.P2, result[1].Product);
        }
Esempio n. 4
0
        public void Can_Remove_Line()
        {
            var mock = new CartMock();
            var cart = mock.Cart;

            cart.AddItem(mock.P1, 1);
            cart.AddItem(mock.P2, 3);
            cart.AddItem(mock.P3, 5);
            cart.AddItem(mock.P2, 1);
            cart.Remove(mock.P2);

            Assert.AreEqual(0, cart.Lines.Count(p => p.Product == mock.P2));
            Assert.AreEqual(2, cart.Lines.Count());
        }
Esempio n. 5
0
        public void Can_Add_Quantity_For_Existing_Lines()
        {
            var mock = new CartMock();
            var cart = mock.Cart;

            cart.AddItem(mock.P1, 1);
            cart.AddItem(mock.P2, 1);
            cart.AddItem(mock.P1, 10);
            var result = cart.Lines.OrderBy(p => p.Product.ProductId).ToArray();

            Assert.AreEqual(2, result.Length);
            Assert.AreEqual(11, result[0].Quantity);
            Assert.AreEqual(1, result[1].Quantity);
        }