private void PopulateVendingItem() { foreach (var product in _inMemoryRepository.GetProducts()) { VendingMachineItem vendingMachineItem; switch (product.ProductCode) { //orderNumber, productName, price, totalItem case "COKE": vendingMachineItem = new Coke(product.OrderNumber, product.Name, product.Price, product.Quantity); _vendingMachineMap.TryAdd(product.OrderNumber, vendingMachineItem); break; case "MM": vendingMachineItem = new MM(product.OrderNumber, product.Name, product.Price, product.Quantity); _vendingMachineMap.TryAdd(product.OrderNumber, vendingMachineItem); break; case "WATER": vendingMachineItem = new Water(product.OrderNumber, product.Name, product.Price, product.Quantity); _vendingMachineMap.TryAdd(product.OrderNumber, vendingMachineItem); break; case "SNICKER": vendingMachineItem = new Snickers(product.OrderNumber, product.Name, product.Price, product.Quantity); _vendingMachineMap.TryAdd(product.OrderNumber, vendingMachineItem); break; default: throw new InvalidOperationException($"Invalid product code {product.ProductCode} vending machine does not support."); } } }
public void buyCokeTest() { Coke coke = new Coke(); customer.buy(coke); string actual = customer.print(); string expect = "Coke(12.00) | Total=12.00"; Assert.AreEqual(expect, actual); }
public void buyCokeAndLemon() { Coke coke = new Coke(); Lemon lemon = new Lemon(); customer.buy(coke); customer.buy(lemon); string actual = customer.print(); string expect = "Coke(12.00)+Lemon(5.00) | Total=17.00"; Assert.AreEqual(expect, actual); }
public void Coke_should_build_the_VendingMachineItem() { var testOrderNumber = _fixture.Create <int>(); var testProductName = _fixture.Create <string>(); var testPrice = _fixture.Create <decimal>(); var testTotalItem = _fixture.Create <int>(); var cut = new Coke(testOrderNumber, testProductName, testPrice, testTotalItem); cut.OrderNumber.Should().Be(testOrderNumber); cut.ProductName.Should().Be(testProductName); cut.Price.Should().Be(testPrice); cut.TotalItem.Should().Be(testTotalItem); }
public void VendingMachineItem_should_decrement_the_Quantity() { var testOrderNumber = _fixture.Create <int>(); var testProductName = _fixture.Create <string>(); var testPrice = _fixture.Create <decimal>(); var testTotalItem = _fixture.Create <int>(); var testPurchaseQuantity = 1; var cut = new Coke(testOrderNumber, testProductName, testPrice, testTotalItem); cut.DecrementItem(testPurchaseQuantity); cut.TotalItem.Should().Be(testTotalItem - testPurchaseQuantity); }
public void CokeConstructionTest_TestForProperConstructionOfCokeObject() { //Arrange int GroupId = 3; int Price = 18; string Examine = "Coke:\n Cost is 18kr"; string Usage = "Drink the coke."; //Act Coke coke = new Coke(3, 18); //Assert Assert.Equal(GroupId, coke.GroupId); Assert.Equal(Price, coke.Price); Assert.Equal(Examine, coke.Examine()); Assert.Equal(Usage, coke.Use()); }
static void Main(string[] args) { Console.WriteLine("1 - Japan"); Console.WriteLine("2 - Spain"); Console.WriteLine("3 - US"); string country; for (; ;) { Console.Write("Choose a Country : "); country = Console.ReadLine(); try { if (Int32.Parse(country) >= 4) { Console.WriteLine("Choose the correct option!!"); } else { break; } } catch (System.FormatException) { Console.WriteLine("Choose a No. !!"); } } Console.WriteLine(country); //Japan japan = new Japan(20); Coke coke = new Coke("Coke", 20, 12.99); Pepsi pepsi = new Pepsi("Pepsi", 10, 2.30); SodasVendingMachine <IJapanesSoda> jSodaVending = new SodasVendingMachine <IJapanesSoda>(25, "SODA"); jSodaVending.SodaList.Add(coke); jSodaVending.SodaList.Add(pepsi); Japan japan = new Japan(); japan.vendingMachines.Add((VendingMachine <IJapanesSoda>)jSodaVending); Console.WriteLine(jSodaVending.Name); japan.vendingMachines.ForEach(v => { Console.WriteLine($"{v.Name}"); }); }
public AbstractMeal AddColdDrink(string drinkType) { ColdDrink coldDrink; switch (drinkType) { case "coke": coldDrink = new Coke(); break; case "fanta": coldDrink = new Fanta(); break; default: coldDrink = null; break; } _meal.SetColdDrink(coldDrink); return(this); }
public void buyCokeAndAllCondimentTest() { Coke coke = new Coke(); Milk milk = new Milk(); Honey honey = new Honey(); Lemon lemon = new Lemon(); Chocolate chocolate = new Chocolate(); Mocha mocha = new Mocha(); customer.buy(coke); customer.buy(milk); customer.buy(honey); customer.buy(lemon); customer.buy(chocolate); customer.buy(mocha); string actual = customer.print(); string expect = "Coke(12.00)+Milk(3.50)+Honey(4.50)+Lemon(5.0)+Chocolate(7.00)+ Mocha(8.0) | Total=40.00"; Assert.AreEqual(expect, actual); }
public Dictionary <string, VendingItem> GetVendingItems() { Dictionary <string, VendingItem> items = new Dictionary <string, VendingItem>(); string file = string.Empty; if (File.Exists("vendingmachine.csv")) { file = "vendingmachine.csv"; try { using (StreamReader sr = new StreamReader(file)) { while (!sr.EndOfStream) { // Read the line string line = sr.ReadLine(); string[] itemDetails = line.Split("|"); string itemName = itemDetails[Pos_ItemName]; if (!decimal.TryParse(itemDetails[Pos_ItemPrice], out decimal itemPrice)) { itemPrice = 0M; } if (!int.TryParse(itemDetails[Pos_itemQty], out int itemQty)) { itemQty = 0; } VendingItem item; switch (itemDetails[Pos_ItemName]) { case "Coke": item = new Coke(itemName, itemPrice, itemQty); break; case "Water": item = new Water(itemName, itemPrice, itemQty); break; case "Snickers": item = new Snickers(itemName, itemPrice, itemQty); break; default: item = new MandM(itemName, itemPrice, itemQty); break; } items.Add(itemDetails[Pos_itemNumber], item); } } } catch { Console.WriteLine("Error trying to open the input file."); } } else { Console.WriteLine("Input file is missing!! The vending machine will now self destruct."); items.Add("A1", new Water("YOU BROKE IT!", 10000M, 5)); } return(items); }
public object FindItem(string order) { if (order == "Shredded Cheddar") { ShreddedCheddar shredChed = new ShreddedCheddar(); return shredChed; } else if (order == "Provolone") { Provolone prov = new Provolone(); return prov; } else if (order == "Cheddar Jack") { CheddarJack chedJack = new CheddarJack(); return chedJack; } else if (order == "Colby Jack") { ColbyJack colbyJack = new ColbyJack(); return colbyJack; } else if (order == "Seven Grain Wheat Bread") { SevenGrainWheatBread sevenWheat = new SevenGrainWheatBread(); return sevenWheat; } else if (order == "Wheat Bread") { WheatBread wheat = new WheatBread(); return wheat; } else if (order == "Italian") { Italian italian = new Italian(); return italian; } else if (order == "Tortilla") { Tortilla tortilla = new Tortilla(); return tortilla; } else if (order == "Coke") { Coke coke = new Coke(); return coke; } else if (order == "Mountain Dew") { MountainDew mtnDew = new MountainDew(); return mtnDew; } else if (order == "Milk") { Milk milk = new Milk(); return milk; } else if (order == "Orange Juice") { OrangeJuice OJ = new OrangeJuice(); return OJ; } else if (order == "Coffee") { Coffee coffee = new Coffee(); return coffee; } else if (order == "Gatorade") { Gatorade gatorade = new Gatorade(); return gatorade; } else if (order == "Ham") { Ham ham = new Ham(); return ham; } else if (order == "Turkey") { Turkey turkey = new Turkey(); return turkey; } else if (order == "Roast Beef") { RoastBeef beef = new RoastBeef(); return beef; } else if (order == "Salami") { Salami salami = new Salami(); return salami; } else if (order == "Bacon") { Bacon bacon = new Bacon(); return bacon; } else if (order == "Mayo") { Mayo mayo = new Mayo(); return mayo; } else if (order == "Chipotle Mayo") { ChipotleMayo chipMayo = new ChipotleMayo(); return chipMayo; } else if (order == "Olives") { Olives olives = new Olives(); return olives; } else if (order == "Lettuce") { Lettuce lettuce = new Lettuce(); return lettuce; } else if (order == "Spinach") { Spinach spinach = new Spinach(); return spinach; } else if (order == "Pickles") { Pickles pickles = new Pickles(); return pickles; } else { Ham ham = new Ham(); return ham; } }
private void food_Click(object sender, EventArgs e) { Button buttonClicked = sender as Button; int rowIndex = orderDetails.Rows.Add(); var row = orderDetails.Rows[rowIndex]; IFood food; switch (buttonClicked.Name) { case "French Baguette": food = new FrenchBaguette(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.frenchBaguetteStock -= 1; break; case "Soft Bread": food = new SoftBread(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.softBreadStock -= 1; break; case "Apple Smoothy": food = new AppleSmoothy(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.appleSmoothyStock -= 1; break; case "Coke": food = new Coke(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.cokeStock -= 1; break; case "Ham Sandwich": food = new HamSandwich(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.hamSandwichStock -= 1; break; case "Panini": food = new Panini(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.paniniStock -= 1; break; case "Cookie": food = new Cookie(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.cookieStock -= 1; break; case "Cheese Cake": food = new CheeseCake(); row.Cells["item"].Value = buttonClicked.Name; row.Cells["price"].Value = food.price; stock.cheeseCakeStock -= 1; buttonClicked.Text = "Cheese Cake " + stock.cheeseCakeStock; break; } updateTotal(); loadButtonsText(); }