public void SumProductTest() { Product prod1 = new Product(1, "potate"); Product prod2 = new Product(2, "cabidge"); Product prod3 = new Product(3, "pencil"); Product prod4 = new Product(4, "pen"); Product prod5 = new Product(5, "chair"); Product prod6 = new Product(6, "book"); Product prod7 = new Product(7, "paper"); Product prod8 = new Product(8, "fish"); Product prod9 = new Product(9, "met"); Product prod10 = new Product(10, "bed"); Shop.Shop shop1 = new Shop.Shop(1, "Lenta", "Park Victory"); shop1.addProduct(prod1, 50, 1); shop1.addProduct(prod3, 100, 1); shop1.addProduct(prod5, 50, 2); var actual = shop1.SumProduct(100); Dictionary <string, int> expected = new Dictionary <string, int>(); expected.Add("potate", 50); expected.Add("pencil", 100); expected.Add("chair", 50); Assert.AreEqual(expected, actual); }
public void CheapProducttest() { Shop.Shop shop1 = new Shop.Shop(1, "Lenta", "Park Victory"); Shop.Shop shop2 = new Shop.Shop(2, "Diksi", "40 year pobed"); Shop.Shop shop3 = new Shop.Shop(3, "pytcherochka", "strret mira"); Product prod1 = new Product(1, "potate"); Product prod2 = new Product(2, "cabidge"); Product prod3 = new Product(3, "pencil"); Product prod4 = new Product(4, "pen"); Product prod5 = new Product(5, "chair"); Product prod6 = new Product(6, "book"); Product prod7 = new Product(7, "paper"); Product prod8 = new Product(8, "fish"); Product prod9 = new Product(9, "met"); Product prod10 = new Product(10, "bed"); shop1.addProduct(new Product(prod1), 50, 100); shop2.addProduct(new Product(prod1), 100, 65); shop3.addProduct(new Product(prod1), 10, 16); Trade trade = new Trade(); trade.addShop(shop1); trade.addShop(shop2); trade.addShop(shop3); var actual = trade.CheapProduct(prod1); var excexpected = "pytcherochka"; Assert.AreEqual(excexpected, actual); }
public void PurchasePossibleCheckAmountTest() { 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)); shop1.AddProduct(milk, new ProductStatus(67, 378)); var lot = new ProductLot(new List <ProductRequest> { new ProductRequest(apple, new ProductStatus(45)), new ProductRequest(banana, new ProductStatus(103)), new ProductRequest(milk, new ProductStatus(15)), }); shop1.BuyLotOfProducts(lot); var appleAmount = shop1.Products .Where(x => x.Product.Id == apple.Id) .Select(x => x.ProductStatus.Amount) .FirstOrDefault(); Assert.AreEqual(1791, appleAmount); }
public void BuyProductsTest() { Product prod1 = new Product(1, "potate"); Product prod2 = new Product(2, "cabidge"); Product prod3 = new Product(3, "pencil"); Product prod4 = new Product(4, "pen"); Product prod5 = new Product(5, "chair"); Product prod6 = new Product(6, "book"); Product prod7 = new Product(7, "paper"); Product prod8 = new Product(8, "fish"); Product prod9 = new Product(9, "met"); Product prod10 = new Product(10, "bed"); Shop.Shop shop1 = new Shop.Shop(1, "Lenta", "Park Victory"); Shop.Shop shop2 = new Shop.Shop(2, "Diksi", "40 year pobed"); Shop.Shop shop3 = new Shop.Shop(3, "pytcherochka", "strret mira"); shop1.addProduct(new Product(prod1), 50, 100); shop1.addProduct(new Product(prod2), 10, 20); shop1.addProduct(new Product(prod3), 10, 20); List <Product> buy = new List <Product>(); buy.Add(new Product(prod1, 2)); buy.Add(new Product(prod2, 3)); var actual = (shop1.BuyProducts(buy)); var expected = 260; Assert.AreEqual(expected, actual); }
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); }
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 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); }
public void ProductsUnderSumNotExist() { Product apple = new Product("Яблоко"); Product banana = new Product("Банан"); Product milk = new Product("Молоко"); Product toiletPaper = new Product("Туалетная бумага"); Product beer = new Product("Пиво"); Product pasta = 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)); Assert.ThrowsException <ImpossibleToBuyException>(() => shop1.GetProductsOnSum(1)); }
public void PurchasePossibleCheckSumTest() { 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)); shop1.AddProduct(milk, new ProductStatus(67, 378)); var lot = new ProductLot(new List <ProductRequest> { new ProductRequest(apple, new ProductStatus(45)), new ProductRequest(banana, new ProductStatus(103)), new ProductRequest(milk, new ProductStatus(15)), }); var sum = shop1.BuyLotOfProducts(lot); Assert.AreEqual(5632.0m, sum); }
public void PurchaseNotPossibleTest() { 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)); shop1.AddProduct(milk, new ProductStatus(67, 378)); var lot = new ProductLot(new List <ProductRequest> { new ProductRequest(apple, new ProductStatus(45000)), new ProductRequest(banana, new ProductStatus(103)), new ProductRequest(milk, new ProductStatus(15)), }); var result = Assert.ThrowsException <ImpossibleToBuyLotException>(() => shop1.BuyLotOfProducts(lot)); Assert.AreEqual("Impossible to buy this lot!", result.Message); }
public TradeData(Shop instance) { main = instance; updateTradeData(); updateOfferData(); }
public ShopData(Shop instance) { main = instance; updateShopData(); }