public void SomeProductsNotAvailableTest()
        {
            Product apple  = new Product("Яблоко");
            Product banana = new Product("Банан");
            Product milk   = new Product("Молоко");

            Shop.Shop shop1 = new Shop.Shop("Пятёрочка", "Хвостовая ул. д.239");
            shop1.AddProduct(apple, new ProductStatus(25, 1836));
            shop1.AddProduct(banana, new ProductStatus(34, 993));

            Shop.Shop shop2 = new Shop.Shop("Перекрёсток", "Денежная ул. д.98");
            shop2.AddProduct(apple, new ProductStatus(30, 832));
            shop2.AddProduct(banana, new ProductStatus(41, 892));

            Shop.Shop shop3 = new Shop.Shop("Дикси", "Лесной пр-кт д.9");
            shop3.AddProduct(apple, new ProductStatus(19, 1938));
            shop3.AddProduct(banana, new ProductStatus(41, 892));

            var shopList = new List <Shop.Shop> {
                shop1, shop2, shop3
            };
            ShopList shops = new ShopList(shopList);

            var lot = new ProductLot(new List <ProductRequest>
            {
                new ProductRequest(apple, new ProductStatus(10)),
                new ProductRequest(banana, new ProductStatus(10)),
                new ProductRequest(milk, new ProductStatus(10))
            });

            var result = Assert.ThrowsException <ShopNotFoundException>(() => shops.GetShopWithLowestSumOnLot(lot));

            Assert.AreEqual("Shop was not found!", result.Message);
        }
        public void SomeProductsAvailableOnlyInOneShopTest()
        {
            Product apple  = new Product("Яблоко");
            Product banana = new Product("Банан");
            Product milk   = new Product("Молоко");

            Shop.Shop shop1 = new Shop.Shop("Пятёрочка", "Хвостовая ул. д.239");
            shop1.AddProduct(apple, new ProductStatus(25, 1836));
            shop1.AddProduct(banana, new ProductStatus(34, 993));

            Shop.Shop shop2 = new Shop.Shop("Перекрёсток", "Денежная ул. д.98");
            shop2.AddProduct(apple, new ProductStatus(30, 832));
            shop2.AddProduct(banana, new ProductStatus(41, 892));
            shop2.AddProduct(milk, new ProductStatus(478));

            Shop.Shop shop3 = new Shop.Shop("Дикси", "Лесной пр-кт д.9");
            shop3.AddProduct(apple, new ProductStatus(19, 1938));
            shop3.AddProduct(banana, new ProductStatus(41, 892));

            var shopList = new List <Shop.Shop> {
                shop1, shop2, shop3
            };
            ShopList shops = new ShopList(shopList);

            var lot = new ProductLot(new List <ProductRequest>
            {
                new ProductRequest(apple, new ProductStatus(10)),
                new ProductRequest(banana, new ProductStatus(10)),
                new ProductRequest(milk, new ProductStatus(10))
            });

            var shop = shops.GetShopWithLowestSumOnLot(lot);

            Assert.AreEqual("Перекрёсток", shop.Name);
        }
Ejemplo n.º 3
0
        public static void Main(string[] args)
        {
            Product apple       = new Product("apple");
            Product megaapple   = new Product("megaapple");
            Product sword       = new Product("sword");
            Shop    WarriorShop = new Shop("WarriorShop", "Orgrimmar");
            Shop    MagicShop   = new Shop("MagicShop", "Bracada");
            Shop    RogueShop   = new Shop("RogueShop", "Ratway");


            WarriorShop.AddProduct(apple, 4, 15);
            WarriorShop.AddProduct(sword, 2, 100);
            WarriorShop.AddProduct(megaapple, 4, 150);
            RogueShop.AddProduct(apple, 12, 10);
            RogueShop.AddProduct(apple, 0, 0);

            Console.WriteLine(Manager.manager.WhereOneProductCheaper(1));
            Console.WriteLine(RogueShop.WhatCanYouBuy(100));
            Console.WriteLine(WarriorShop.ProductList[1].Count);
            Console.WriteLine(WarriorShop.BuyProducts(1, 4, 2, 2, 3, 1));
            Console.WriteLine(WarriorShop.ProductList[1].Count);
            Console.WriteLine(Manager.manager.WhereConsignmentCheaper(12, 2));
        }
Ejemplo n.º 4
0
        public void ProductNotAvailableTest()
        {
            Product apple       = new Product("Яблоко");
            Product banana      = new Product("Банан");
            Product bread       = new Product("Хлеб");
            Product milk        = new Product("Молоко");
            Product tomato      = new Product("Помидор");
            Product shampoo     = new Product("Шампунь");
            Product toiletPaper = new Product("Туалетная бумага");
            Product beer        = new Product("Пиво");
            Product pasta       = new Product("Макароны");
            Product redBull     = new Product("РедБулл");

            Product cucumber = new Product("Огурец");

            Shop.Shop shop1 = new Shop.Shop("Пятёрочка", "Хвостовая ул. д.239");
            shop1.AddProduct(apple, new ProductStatus(25, 1836));
            shop1.AddProduct(banana, new ProductStatus(34, 993));
            shop1.AddProduct(milk, new ProductStatus(67, 378));
            shop1.AddProduct(pasta, new ProductStatus(54, 392));
            shop1.AddProduct(beer, new ProductStatus(89, 666));
            shop1.AddProduct(toiletPaper, new ProductStatus(120, 426));

            Shop.Shop shop2 = new Shop.Shop("Перекрёсток", "Денежная ул. д.98");
            shop2.AddProduct(apple, new ProductStatus(30, 832));
            shop2.AddProduct(banana, new ProductStatus(41, 892));
            shop2.AddProduct(milk, new ProductStatus(65, 278));
            shop2.AddProduct(pasta, new ProductStatus(69, 2953));
            shop2.AddProduct(beer, new ProductStatus(47, 382));
            shop2.AddProduct(redBull, new ProductStatus(127, 284));
            shop2.AddProduct(bread, new ProductStatus(33, 1793));

            Shop.Shop shop3 = new Shop.Shop("Дикси", "Лесной пр-кт д.9");
            shop3.AddProduct(apple, new ProductStatus(19, 1938));
            shop3.AddProduct(banana, new ProductStatus(41, 892));
            shop3.AddProduct(milk, new ProductStatus(65, 278));
            shop3.AddProduct(pasta, new ProductStatus(69, 2953));
            shop3.AddProduct(shampoo, new ProductStatus(155, 329));
            shop3.AddProduct(tomato, new ProductStatus(25, 394));

            var shopList = new List <Shop.Shop> {
                shop1, shop2, shop3
            };
            ShopList shops = new ShopList(shopList);

            var result1 = Assert.ThrowsException <ShopNotFoundException>(() => shops.GetShopWithLowestPriceOn("P120"));
            var result2 = Assert.ThrowsException <ShopNotFoundException>(() => shops.GetShopWithLowestPriceOn(cucumber));

            Assert.AreEqual("Shop was not found!", result1.Message);
            Assert.AreEqual("Shop was not found!", result2.Message);
        }