示例#1
0
        public void ProductStock_FindByPriceReturnCorrectEmptyCollection(decimal price)
        {
            var stock = new ProductStock();

            stock.Add(new Product("SSD", 12.4m, 3));
            stock.Add(new Product("SSD", 12.4m, 3));
            stock.Add(new Product("HDD", 12.4m, 3));
            stock.Add(new Product("RAM", 12.4m, 3));

            var result = stock.FindAllByPrice(price);

            Assert.AreEqual(result.Count(), 0);
        }
示例#2
0
        public void ProductStock_FindByPriceReturnCorrectNonEmptyCollection()
        {
            var stock = new ProductStock();

            stock.Add(new Product("SSD", 12.4m, 3));
            stock.Add(new Product("SSD", 12.4m, 3));
            stock.Add(new Product("HDD", 12.4m, 3));
            stock.Add(new Product("RAM", 12.4m, 3));
            var result = stock.FindAllByPrice(12.4m);

            string[] names = new string[] { "SSD", "HDD", "RAM" };
            int      i     = 0;

            foreach (var item in result)
            {
                Assert.AreEqual(item.CompareTo(new Product(names[i++], 12.4m, 3)), 0);
            }
        }
示例#3
0
        public void FindAllByPrice_ReturnsProductsOrEmptyCollection(decimal targetPrice)
        {
            var productsWithPrice = new List <IProduct>();

            for (int i = 0; i < 3; i++)
            {
                var product = new Product($"{i}", 1.1m, 1);
                productStock.Add(product);

                if (product.Price == targetPrice)
                {
                    productsWithPrice.Add(product);
                }
            }

            var productsFound = productStock.FindAllByPrice(targetPrice);

            CollectionAssert.AreEqual(productsFound, productsWithPrice);
        }
        public void FindAllByPrice_ShouldReturnEmptyEnumeration()
        {
            var actual = productStock.FindAllByPrice(10);

            Assert.IsEmpty(actual);
        }