//[TestInitialize] private CollectionOfProducts InitializeCollectionOfProducts() { var product01 = new Product() { Id = "11aa33", Title = "Laptop Lenovo ThinkPad", Price = 1800, Supplier = "SuperTech" }; var product02 = new Product() { Id = "bb33cc", Title = "HP ProBook 450G1", Price = 1500, Supplier = "MegaTech" }; var product03 = new Product() { Id = "dd00gg", Title = "Nexus 5", Price = 550, Supplier = "GigaTron" }; var product04 = new Product() { Id = "22ffbb", Title = "Nexus 4", Price = 450, Supplier = "GigaTron" }; var product05 = new Product() { Id = "99ffbb", Title = "Smasung Galaxy S6", Price = 550, Supplier = "GigaTron" }; var product06 = new Product() { Id = "zzss99", Title = "Smasung Galaxy S4", Price = 450, Supplier = "MegaBit" }; var product07 = new Product() { Id = "gg5588", Title = "Smasung Galaxy S4", Price = 450, Supplier = "MegaBit" }; var product08 = new Product() { Id = "yyAA11", Title = "Smasung Galaxy S4", Price = 450, Supplier = "GigaTron" }; var product09 = new Product() { Id = "01dd77", Title = "Laptop Lenovo ThinkPad", Price = 600, Supplier = "SecondHandTech" }; var product10 = new Product() { Id = "00dd77", Title = "Laptop Lenovo ThinkPad", Price = 600, Supplier = "SecondHandTech" }; var products = new CollectionOfProducts(); var productList = new List <Product>() { product01, product02, product03, product04, product05, product06, product07, product08, product09, product10 }; foreach (var product in productList) { products.Add(product.Id, product.Title, product.Supplier, product.Price); } return(products); }
static void Main() { var collection = new CollectionOfProducts(); Console.WriteLine("Adding products to the collection"); Console.WriteLine(collection.Add(1, "Calculator", "Casio", 25M)); Console.WriteLine(collection.Add(2, "Calculator", "TI", 50M)); Console.WriteLine(collection.Add(3, "Calculator", "IBM", 60M)); Console.WriteLine(collection.Add(4, "MP3 Player", "Sony", 45M)); Console.WriteLine(collection.Add(5, "MP3 Player", "Sony", 12M)); Console.WriteLine(collection.Add(6, "MP3 Player", "Sony", 18M)); Console.WriteLine(collection.Add(7, "MP3 Player", "Sony", 20M)); Console.WriteLine(collection.Add(8, "MP3 Player", "Casio", 20M)); Console.WriteLine(collection.Add(9, "Calculator", "Casio", 20M)); Console.WriteLine(); Console.WriteLine("Adding an existing id (id=1)"); Console.WriteLine(collection.Add(1, "Calculator", "XYZ", 25M)); Console.WriteLine(); Console.WriteLine("Finding by ID = 2:"); Console.WriteLine(collection.FindProductById(2)); Console.WriteLine(); Console.WriteLine("Finding by title (calculator):"); foreach (var product in collection.FindProductsByTitle("Calculator")) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Searching by price range (20-50 incl): "); var productsInPriceRange = collection.FindProductsByPriceRange(20M, 50M); foreach (var product in productsInPriceRange) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Removing product 2 twice"); Console.WriteLine(collection.DeleteProduct(2)); Console.WriteLine(collection.DeleteProduct(2)); Console.WriteLine("Finding by ID = 2:"); Console.WriteLine(collection.FindProductById(2)); Console.WriteLine(); Console.WriteLine("Finding by title (calculator) after deletion:"); foreach (var product in collection.FindProductsByTitle("Calculator")) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Finding by title (MP3 player) and price (20M): "); var mp3PlayersByPriceAndTitle = collection.FindProductsByTitleAndPrice("MP3 Player", 20M); foreach (var product in mp3PlayersByPriceAndTitle) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Finding by title (MP3 player) and price range (15M - 40M): "); var mp3PlayersByTitleAndPriceRange = collection.FindProductsByTitleAndPriceRange("MP3 Player", 15M, 40M); foreach (var product in mp3PlayersByTitleAndPriceRange) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Finding by title (MP3 player) and non-existant price range (150M - 400M): "); var falseCollection = collection.FindProductsByTitleAndPriceRange("MP3 Player", 150M, 400M); foreach (var product in falseCollection) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Finding by non-existant title (Walkman) and price range (15M - 40M): "); falseCollection = collection.FindProductsByTitleAndPriceRange("MP3 Walkman", 15M, 40M); foreach (var product in falseCollection) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Finding by supplier (Casio) and price(20M): "); var casioProducts = collection.FindProductsBySupplierAndPrice("Casio", 20M); foreach (var product in casioProducts) { Console.WriteLine(product); } Console.WriteLine(); Console.WriteLine("Finding by supplier (Casio) and price range(20M - 40M): "); casioProducts = collection.FindProductsBySupplierAndPriceRange("Casio", 20M, 40M); foreach (var product in casioProducts) { Console.WriteLine(product); } Console.WriteLine(); }