示例#1
0
        public void TestUpdateCart_AddDifferentProduct()
        {
            ShoppingCart   shoppingCart   = new ShoppingCart();
            ProductFactory productFactory = new OthersFactory();
            var            name           = "Gaming Computer";
            var            price          = 2399.99m;
            var            qty            = 1;
            bool           isImported     = false;
            Product        others         = productFactory.CreateProduct(name, price, qty, isImported);

            // load first product
            shoppingCart.UpdateCart(others);

            productFactory = new OthersFactory();
            name           = "Gaming mouse";
            price          = 60.99m;
            qty            = 1;
            isImported     = false;
            others         = productFactory.CreateProduct(name, price, qty, isImported);
            // Add same product
            shoppingCart.UpdateCart(others);


            // One object of products exist in shopping cart
            Assert.AreEqual(shoppingCart.CartSize(), 2);
            var product = shoppingCart.Products.Where(item => item.Name == name).FirstOrDefault();

            Assert.AreEqual(product.Qty, 1);
        }
示例#2
0
        public void TestCalculateTax_Other_NotImported()
        {
            ProductFactory productFactory = new OthersFactory();
            var            name           = "Gaming Computer";
            var            price          = 2399.99m;
            var            qty            = 2;
            bool           isImported     = false;
            Product        others         = productFactory.CreateProduct(name, price, qty, isImported);
            decimal        expectedTax    = 480m;
            var            actualTax      = others.CalculateTax(TaxSettings);

            Assert.AreEqual(expectedTax, actualTax);
        }
示例#3
0
        public void TestCalculateTax_Other_Imported()
        {
            ProductFactory productFactory = new OthersFactory();
            var            name           = "Light";
            var            price          = 5.99m;
            var            qty            = 3;
            bool           isImported     = true;
            Product        others         = productFactory.CreateProduct(name, price, qty, isImported);
            decimal        expectedTax    = 2.7m;
            var            actualTax      = others.CalculateTax(TaxSettings);

            Assert.AreEqual(expectedTax, actualTax);
        }