Ejemplo n.º 1
0
        public void POS_AddProductToCart_ManyTime_Success(string input, int expectedProductCount)
        {
            var isLoadSavedCartFile = false;
            var pos = new Homework10ForTest(isLoadSavedCartFile);
            var productInCartBeforeAdd = pos.GetProductsInCart().ToList();

            Assert.False(productInCartBeforeAdd.Any());

            var inputSplited = input.Split(",");
            var productId    = inputSplited.FirstOrDefault();
            var products     = pos.GetAllProducts().ToList();
            var product      = products.FirstOrDefault(it => it.SKU.Equals(productId, StringComparison.CurrentCultureIgnoreCase));

            const int MinimumOrderProductAmount = 1;

            int.TryParse(inputSplited.LastOrDefault(), out int orderProductAmount);
            if (orderProductAmount < MinimumOrderProductAmount)
            {
                orderProductAmount = MinimumOrderProductAmount;
            }
            for (int i = 0; i < orderProductAmount; i++)
            {
                pos.AddProductToCart(product);
            }

            var result = pos.GetProductsInCart().ToList();

            Assert.Equal(expectedProductCount, result.Count);
        }
Ejemplo n.º 2
0
        public void POS_GetAllProduct()
        {
            var isLoadSavedCartFile = false;
            var pos    = new Homework10ForTest(isLoadSavedCartFile);
            var result = pos.GetAllProducts().ToList();
            var expectedProductCount = 9;

            Assert.Equal(expectedProductCount, result.Count);
        }
Ejemplo n.º 3
0
        public void POS_AddProductNullToCart_ShouldBe_Fail()
        {
            var isLoadSavedCartFile = false;
            var pos = new Homework10ForTest(isLoadSavedCartFile);
            var productInCartBeforeAdd = pos.GetProductsInCart().ToList();

            Assert.False(productInCartBeforeAdd.Any());

            pos.AddProductToCart(null);
            var result = pos.GetProductsInCart().ToList();

            Assert.False(result.Any());
        }
Ejemplo n.º 4
0
        public void POS_AddProductToCart_Fail(string productId)
        {
            var isLoadSavedCartFile = false;
            var pos = new Homework10ForTest(isLoadSavedCartFile);
            var productInCartBeforeAdd = pos.GetProductsInCart().ToList();

            Assert.False(productInCartBeforeAdd.Any());

            var products = pos.GetAllProducts().ToList();
            var product  = products.FirstOrDefault(it => it.SKU.Equals(productId, StringComparison.CurrentCultureIgnoreCase));

            pos.AddProductToCart(product);

            var result = pos.GetProductsInCart().ToList();

            Assert.False(result.Any());
        }
Ejemplo n.º 5
0
        public void POS_AddProductToCart_OnceTime_AfterLoadSavedCart_Success(string productId)
        {
            var isLoadSavedCartFile = true;
            var pos = new Homework10ForTest(isLoadSavedCartFile);
            var productInCartBeforeAdd = pos.GetProductsInCart().ToList();
            var expectedProductCountBeforeAddToCart = 2;

            Assert.Equal(expectedProductCountBeforeAddToCart, productInCartBeforeAdd.Count);

            var products = pos.GetAllProducts().ToList();
            var product  = products.FirstOrDefault(it => it.SKU.Equals(productId, StringComparison.CurrentCultureIgnoreCase));

            pos.AddProductToCart(product);

            var result = pos.GetProductsInCart().ToList();
            var expectedProductCount = 3;

            Assert.Equal(expectedProductCount, result.Count);
        }