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); }
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); } }
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); }