示例#1
0
        //[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);
        }
示例#2
0
        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();
        }