public void SendWaitress() { Waitress selWaitress = null; while (selWaitress == null) { int rnd = Random.Range(0, numOfWaitresses - 1); Waitress tmpWaitress = _waitresses[rnd]; if (!tmpWaitress.InPlay) { selWaitress = tmpWaitress; int numOfDrinks = Random.Range(minNumOfDrinks, maxNumOfDrinks); List <GameObject> drinks = new List <GameObject>(); for (int i = 0; i < numOfDrinks; i++) { GameObject drinkObject = _drinkFactory.GetDrinkObject(_drinkManager.GetRandomDrink()); Rigidbody2D rb = drinkObject.AddComponent <Rigidbody2D>(); rb.gravityScale = 0; drinkObject.transform.localScale = new Vector2(0.5f, 0.5f); drinks.Add(drinkObject); } selWaitress.transform.transform.position = new Vector2(-5, -5); selWaitress.OnReachedTable += OnReachedTable; selWaitress.Activate(GetRandomTable(), drinks); } } }
static void Main(string[] args) { MenuComponent PancakeMenu = new Menu("PANCAKE HOUSE MENU", "Breakfast"); MenuComponent DinerMenu = new Menu("DINER MENU", "Lunch"); MenuComponent CafeMenu = new Menu("CAFE MENU", "Dinner"); MenuComponent DessertMenu = new Menu("DESSERT MENU", "Desserts"); MenuComponent AllMeus = new Menu("ALL MENUS", "All menus combined"); AllMeus.Add(PancakeMenu); AllMeus.Add(DinerMenu); AllMeus.Add(CafeMenu); DinerMenu.Add(new MenuItem("Pasta", "Sphagetti with Marinara sauce, and a slice of sourdough bread", true, 3.89)); DessertMenu.Add(new MenuItem("Apple pie", "Apple pie with a flaky crust, topped with vanilla ice cream", true, 1.59)); PancakeMenu.Add(new MenuItem("Pancake", "Pancake with berries", false, 4.69)); PancakeMenu.Add(new MenuItem("Blueberry pancakes(v)", "Pancakes made with fresh blueberries", true, 3.49)); CafeMenu.Add(new MenuItem("Coffee", "Fresh brewed starbuzz coffee", true, 2.99)); CafeMenu.Add(new MenuItem("Tea", "Chai Tea with fresh basil leaf", true, 2.99)); DinerMenu.Add(DessertMenu); Waitress waitress = new Waitress(AllMeus); waitress.PrintVegetarianMenu(); }
static void Main(string[] args) { IMenuComponent pancakeMenu = new Menu("Pancake house menu", "Breakfast"); IMenuComponent dinerMenu = new Menu("Dinner menu", "Lunch"); IMenuComponent cafeMenu = new Menu("Cafe menu", "Dinner"); IMenuComponent desertMenu = new Menu("Dessert menu", "Dessert of course!"); IMenuComponent allMenus = new Menu("All menus", "All menus combined!"); allMenus.Add(pancakeMenu); allMenus.Add(dinerMenu); allMenus.Add(cafeMenu); dinerMenu.Add(new MenuItem("Vegetarian BLT", "(Fakin’) Bacon with lettuce & tomato on whole wheat", true, 2.99)); dinerMenu.Add(new MenuItem("BLT", "Bacon with lettuce & tomato on whole wheat", false, 2.99)); dinerMenu.Add(new MenuItem("Soup of the day", "Soup of the day, with a side of potato salad", false, 3.29)); dinerMenu.Add(new MenuItem("Hotdog", "A hot dog, with saurkraut, relish, onions, topped with cheese", false, 3.05)); dinerMenu.Add(desertMenu); pancakeMenu.Add(new MenuItem("Pancake Breakfast", "Pancakes with scrambled eggs, and toast", true, 2.99)); pancakeMenu.Add(new MenuItem("Regular Pancake Breakfast", "Pancakes with fried eggs, sausage", false, 2.99)); pancakeMenu.Add(new MenuItem("Blueberry Pancakes", "Pancakes made with fresh blueberries", true, 3.49)); pancakeMenu.Add(new MenuItem("Waffles", "Waffles, with your choice of blueberries or strawberries", true, 3.59)); Waitress waitress = new Waitress(allMenus); waitress.PrintMenu(); Console.ReadLine(); }
public void Kitchen_CreateMainFood() { //arrange ILogger loggerMock = MockRepository.GenerateMock <ILogger>(); Kitchen kitchen = new Kitchen(); Waitress waitress = new Waitress(kitchen, loggerMock); Client client = new Client(150, "Andrew"); Order order = new Order("HOTDOG", new List <string> { "KETCHUP" }, loggerMock); IFood food = new HotDog(); IFood extras = new Ketchup(food); loggerMock.Expect(x => x.Write("Kitchen: Preparing food, order: Order[food=HOTDOG, extras=[KETCHUP]]")); loggerMock.Expect(x => x.Write("Kitchen: Food prepared, food: food=Hotdog, extras=[Ketchup]")); //act var foodFromKitchen = kitchen.CreateMainFood(order.FoodToOrder); var extrasFromKitchen = kitchen.AddExtras(foodFromKitchen, order.ExtrasForAdding); var finalFood = kitchen.Cook(order, loggerMock); //assert //For some reason these asserts dont return true //Assert.AreEqual(food, foodFromKitchen); //Assert.AreEqual(extrasFromKitchen, extras); //Assert.AreEqual(finalFood, extras); loggerMock.VerifyAllExpectations(); }
public void Run() { Client client1 = new Client(100, "Peter"); Client client2 = new Client(200, "Berci"); Kitchen kitchen = new Kitchen(); Waitress waitressRobot = new Waitress(kitchen); Order order1 = new Order("CHIPS", new List <string> { "MUSTARD" }); order1.ExtrasForAdding = new List <string> { "MUSTARD" }; //to do // implement event Order order2 = new Order("HOTDOG", new List <string> { "KETCHUP" }); client1.Subscribe(order1); client2.Subscribe(order2); waitressRobot.TakeOrder(client1, order1); waitressRobot.TakeOrder(client2, order2); waitressRobot.ServeOrders(); kitchen.Cook(waitressRobot.orders.Dequeue()); kitchen.Cook(waitressRobot.orders.Dequeue()); //order1.FoodReady += order1.NotifyReady(); }
// see the MutexFun project TODO: REOWRK USING System.IO.MemoryMappedFiles.MemoryMappedFile #endregion #region "12.8 Using events to make threads cooperate" public static void TestResetEvent() { // We have a diner with a cook who can only serve up one meal at a time Cook Mel = new Cook() { Name = "Mel" }; string[] waitressNames = { "Flo", "Alice", "Vera", "Jolene", "Belle" }; // Have waitresses place orders foreach (var waitressName in waitressNames) { Task.Run(() => { // The Waitress places the order and then waits for the order Waitress.PlaceOrder(waitressName, Cook.OrderReady); }); } // Have the cook fill the orders for (int i = 0; i < waitressNames.Length; i++) { // make the waitresses wait... Thread.Sleep(2000); // ok, next waitress, pickup! Mel.CallWaitress(); } }
static void Main(string[] args) { MenuComponent pancakeHouseMenu = new Menu("Pancake House Menu", "Breakfast"); MenuComponent dinerMenu = new Menu("Diner Menu", "Lunch"); MenuComponent cafeMenu = new Menu("Cafe Menu", "Dinner"); MenuComponent dessertMenu = new Menu("Dessert Menu", "Dessert"); MenuComponent allMenus = new Menu("All Menus", "All menus combined"); allMenus.Add(pancakeHouseMenu); allMenus.Add(dinerMenu); allMenus.Add(cafeMenu); // Add menu items to diner menu dinerMenu.Add(new MenuItem("Pasta Cucianna", "Spaghetti with rinso sauce and mixed seafood", false, 20.95)); dinerMenu.Add(new MenuItem("Chow Mian", "Smelly fried noodle with smelly tofu", true, 14.95)); // Add dessert menu dessertMenu.Add(new MenuItem("Gelato", "Non diary gelato of the day", true, 4.50)); dessertMenu.Add(new MenuItem("Snow ice campur", "Shaved ice with beans and fruits", true, 4.50)); // Add dessert to diner menu dinerMenu.Add(dessertMenu); Waitress waitress = new Waitress(allMenus); waitress.Print(); Console.ReadKey(); }
public List <FoodMenuModel> PrintMealMenu(string restaurantId) { Waitress waitress = new Waitress(restaurantId); var foodMenu = waitress.PrintFoodMenu(); return(foodMenu); }
public void CommandModeTest() { Console.WriteLine("======== 命令模式測試 ========="); //開店準備 Chef chef = new Chef(); Bartender bartender = new Bartender(); Order dishOrder = new DishOrder(chef); Order drinkOrder = new DrinkOrder(bartender); Waitress cuteGirl = new Waitress(); //開始營業 客戶點餐 cuteGirl.SetOrder(dishOrder); cuteGirl.SetOrder(dishOrder); cuteGirl.SetOrder(drinkOrder); cuteGirl.SetOrder(drinkOrder); //飲料還沒賣完 cuteGirl.SetOrder(drinkOrder); Console.WriteLine("===== 客人取消熱炒測試 ====="); //取消一份熱炒 cuteGirl.CancelOrder(dishOrder); //熱炒又可以賣了 cuteGirl.SetOrder(dishOrder); Console.WriteLine("=== 點餐完成 通知廚房 ==="); cuteGirl.NotifyKitchen(); Console.WriteLine("=== 熱炒庫存不足測試 ==="); cuteGirl.SetOrder(dishOrder); Assert.AreEqual(1, 1); }
static void Main(string[] args) { MenuComponent pancakeHouseMenu = new Menu("Pancake House Menu", "Breakfast"); MenuComponent dinnerMenu = new Menu("Dinner Menu", "Lunch"); MenuComponent cafeMenu = new Menu("Cafe Menu", "Dinner"); MenuComponent dessertMenu = new Menu("Dessert menu", "Dessert"); MenuComponent allMenus = new Menu("All Menus", "All menus combined"); allMenus.Add(pancakeHouseMenu); allMenus.Add(dinnerMenu); allMenus.Add(cafeMenu); dinnerMenu.Add(new MenuItem("Pasta", "Spaghetti", true, 3.90)); dinnerMenu.Add(dessertMenu); dessertMenu.Add(new MenuItem("Apple Pie", "Apple pie with flakey", true, 1.60)); Waitress waitress = new Waitress(allMenus); //waitress.Print(); waitress.PrintVegetarianMenu(); }
static void Main(string[] args) { var menu = new Menu { Name = "ALL", Description = "All Menus" }; var coffeeMenu = new Menu { Name = "Coffee", Description = "Coffee Menu" }; var coffeeDesertMenu = new Menu { Name = "Deserts", Description = "Coffee Deserts Menu" }; coffeeMenu.Add(coffeeDesertMenu); menu.Add(coffeeMenu); coffeeMenu.Add(new MenuItem { Name = "Dark Coffee", Price = 10 }); coffeeMenu.Add(new MenuItem { Name = "Espresso", Price = 12 }); coffeeMenu.Add(new MenuItem { Name = "Latte", Price = 16 }); coffeeDesertMenu.Add(new MenuItem { Name = "Milk Ice-Cream", Price = 20 }); coffeeDesertMenu.Add(new MenuItem { Name = "Chocolate Ice-Cream", Price = 22 }); var dinnerMenu = new Menu { Name = "Dinner", Description = "Dinner Menu" }; menu.Add(dinnerMenu); dinnerMenu.Add(new MenuItem { Name = "Borsch", Price = 30 }); dinnerMenu.Add(new MenuItem { Name = "Green Borsch", Price = 35, IsVegeterian = true }); dinnerMenu.Add(new MenuItem { Name = "Soup", Price = 29 }); var waitress = new Waitress(menu); waitress.Print(); Console.WriteLine("Vegeterian Products:"); waitress.PrintVegeterianMenu(); Console.ReadKey(); }
public void IteratorTest() { PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); DinerMenu dinerMenu = new DinerMenu(); CafeMenu cafeMenu = new CafeMenu(); Waitress waitress = new Waitress(pancakeHouseMenu, dinerMenu, cafeMenu); waitress.PrintMenu(); waitress.PrintVegetarianMenu(); Console.WriteLine("\nCustomer asks, is the Hotdog vegetarian?"); Console.WriteLine("Waitress says: "); if (waitress.IsItemVegetarian("Hotdog")) { Console.WriteLine("Yes"); } else { Console.WriteLine("No"); } Console.WriteLine("\nCustomer asks, are the Waffles vegetarian?"); Console.WriteLine("Waitress says: "); if (waitress.IsItemVegetarian("Waffles")) { Console.WriteLine("Yes"); } else { Console.WriteLine("No"); } }
public void TestWaitressPrintMenu() { StringBuilder printMenuOutput = new StringBuilder(); PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); DinnerMenu dinnerMenu = new DinnerMenu(); CafeMenu cafeMenu = new CafeMenu(); Waitress waitress = new Waitress(pancakeHouseMenu, dinnerMenu, cafeMenu); printMenuOutput.Append("MENU\n"); printMenuOutput.Append("----\n"); printMenuOutput.Append("BREAKFAST\n"); printMenuOutput.Append("K&B's Pancake Breakfast, 2.99 -- Pancakes with scrambled eggs, and toast\n"); printMenuOutput.Append("Regular Pancake Breakfast, 2.99 -- Pancakes with fried eggs, and sausage\n"); printMenuOutput.Append("Blueberry Pancakes, 3.49 -- Pancakes made with fresh blueberries\n"); printMenuOutput.Append("Waffles, 3.59 -- Waffles, with your choice of blueberries or strawberries\n"); printMenuOutput.Append("\n"); printMenuOutput.Append("LUNCH\n"); printMenuOutput.Append("Vegetarian BLT, 2.99 -- (Fakin') Bacon with lettuce & tomato on whole wheat\n"); printMenuOutput.Append("BLT, 2.99 -- Bacon with lettuce & tomato on whole wheat\n"); printMenuOutput.Append("Soup of the day, 3.29 -- Soup of the day, with a side of potato salad\n"); printMenuOutput.Append("Hotdog, 3.05 -- A hot dog with saurkraut, relish, onions, topped with cheese\n"); printMenuOutput.Append("Steamed Veggies and Brown Rice, 3.99 -- Steamed vegetables over brown rice\n"); printMenuOutput.Append("Pasta, 3.89 -- Spaghetti with Marina Sauce and a slice of sourdough bread\n"); printMenuOutput.Append("\nDinner\n"); printMenuOutput.Append("Veggie Burger and Air Fries, 3.99 -- Veggie burger on a whole wheat bun, lettuce, tomato, and fries\n"); printMenuOutput.Append("Soup of the Day, 3.69 -- A cup of the soup of the day, with a side salad\n"); printMenuOutput.Append("Burrito, 4.29 -- A large burrito, with whole pinto beans, salsa, guacamole\n"); Assert.AreEqual(printMenuOutput.ToString(), waitress.PrintMenu()); }
public void Order_NotifyReady() { //arrange ILogger loggerMock = MockRepository.GenerateMock <ILogger>(); IEvent eventMock = MockRepository.GenerateMock <IEvent>(); IOnFoodReady onFoodReadyMock = MockRepository.GenerateMock <IOnFoodReady>(); Kitchen kitchen = new Kitchen(); Waitress waitress = new Waitress(kitchen, loggerMock); Client client = new Client(150, "Andrew"); Order order = new Order("HOTDOG", new List <string> { "KETCHUP" }, loggerMock); IFood food = new HotDog(); IFood extras = new Ketchup(food); var expectedMessage = "Order: Notifying observers of Order: [food=HOTDOG, extras=KETCHUP]"; loggerMock.Expect(x => x.Write(expectedMessage)); //act order.NotifyReady(extras); loggerMock.VerifyAllExpectations(); }
public void Waitress_ServeOrders() { //arrange ILogger loggerMock = MockRepository.GenerateMock <ILogger>(); Kitchen kitchen = new Kitchen(); Waitress waitress = new Waitress(kitchen, loggerMock); Order order = new Order("HOTDOG", new List <string> { "KETCHUP" }, loggerMock); waitress.orders.Enqueue(order); waitress.orders.Enqueue(order); var expectedMessage = "WaitressRobot: Processing 2 order(s)..."; loggerMock.Expect(x => x.Write(expectedMessage)); expectedMessage = "WaitressRobot: Orders processed."; loggerMock.Expect(x => x.Write(expectedMessage)); //act waitress.ServeOrders(); //assert Assert.IsTrue(waitress.orders.Count == 0); loggerMock.VerifyAllExpectations(); }
static void Main(string[] args) { IMenu[] menus = { new DinerMenu(), new PancakeHouseMenu() }; Waitress waitress = new Waitress(menus); waitress.PrintMenu(); }
public static void Start() { MenuComponent pancakeHouseMenu = new Menu("PANCAKE HOUSE MENU", "Breakfast"); pancakeHouseMenu.Add( new MenuItem( "Pancake", "Pancake with strawberry ice cream", false, 1.29 ) ); MenuComponent cafeMenu = new Menu("CAFE MENU", "Dinner"); cafeMenu.Add( new MenuItem( "Cappuccino", "Cappuccino latte with cream and chocolate", false, 1.59 ) ); MenuComponent dessertMenu = new Menu("DESSERT MENU", "Dessert of course!"); dessertMenu.Add( new MenuItem( "Apple Pie", "Apple pie with a flakey crust, topped with vanilla icecream", true, 1.59 ) ); MenuComponent dinerMenu = new Menu("DINER MENU", "Lunch"); dinerMenu.Add( new MenuItem( "Pasta", "Spaghetti with Marinara Sauce, and a slice of sourdough bread", true, 3.89 ) ); dinerMenu.Add(dessertMenu); MenuComponent allMenus = new Menu("ALL MENUS", "All menus combined"); allMenus.Add(pancakeHouseMenu); allMenus.Add(dinerMenu); allMenus.Add(cafeMenu); Waitress waitress = new Waitress(allMenus); //waitress.PrintMenu(); waitress.PrintVegetarianMenu(); //TestCompositeIterator.Start(allMenus); }
static void Iterator() { IMenu pancakeHouseMenu = new PancakeHouseMenu(); IMenu dinnerMenu = new DinnerMenu(); Waitress waitress = new Waitress(pancakeHouseMenu, dinnerMenu); waitress.PrintMenu(); }
public void WaitressPrintTest() { var pancakeHouseMenu = new PancakeHouseMenu(); var dinerMenu = new DinerMenu(); var waitress = new Waitress(pancakeHouseMenu, dinerMenu); waitress.PrintMenu(); }
static void Main(string[] args) { LunchMenu lunchMenu = new LunchMenu(); Waitress waitress = new Waitress(lunchMenu); waitress.PrintMenu(); }
static void Main(string[] args) { Waitress waitress = new Waitress(); waitress.AddMenu(new BreakfastMenu()); waitress.AddMenu(new DinerMenu()); waitress.ListMenus(); }
static void Main(string[] args) { var menu = MenuFactory.Create(); var waitress = new Waitress(menu); waitress.PrintMenu(); waitress.PrintVegetarianMenu(); }
public static void Run() { PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); DinerMenu dinerMenu = new DinerMenu(); Waitress waitress = new Waitress(pancakeHouseMenu, dinerMenu); waitress.PrintMenu(); }
static void Main(string[] args) { PancakeHouseMenu pm = new PancakeHouseMenu(); DinerMenu dm = new DinerMenu(); Waitress w = new Waitress(pm, dm); w.PrintMenu(); }
static void Main(string[] args) { var pancakeHouseMenu = new PancakeHouseMenu(); var dinerMenu = new DinerMenu(); var waitress = new Waitress(pancakeHouseMenu, dinerMenu); waitress.PrintMenu(); }
static void Main(string[] args) { PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); DinerMenu dinerMenu = new DinerMenu(); Waitress waitress = new Waitress(pancakeHouseMenu, dinerMenu); waitress.PrintMenu(); }
private static void Main(string[] args) { Console.WriteLine("**** Wood Duck ****"); var woodDuck = new WoodDuck(); woodDuck.ShowInfo(); Console.WriteLine("**** Jet Pack Duck ****"); var robotDuck = new JetPackDuck(); robotDuck.ShowInfo(); Console.WriteLine("**** Default Duck ****"); var defaultDuck = new DefaultDuck(); defaultDuck.ShowInfo(); Console.WriteLine("**** Turkey Before adapter ****"); var turkey = new DefaultTurkey(); turkey.ShowInfo(); turkey.MakeGobble(); Console.WriteLine("**** Turkey After adapter ****"); var turkeyAdapted = new TurkeyAdapter(turkey); turkeyAdapted.ShowInfo(); turkeyAdapted.MakeQuack(); var demonDuckmenu = new DemonDucksMenu(); var hollyDucksMenu = new HollyDucksMenu(); var waitress = new Waitress(demonDuckmenu, hollyDucksMenu); waitress.PrintMenu(); MeatBase grillDuck = new GrillDuck(); grillDuck = new ExtraCheese(grillDuck); grillDuck = new GrillVegetables(grillDuck); Console.WriteLine($"Name:{grillDuck.Name}\n Count:{grillDuck.Price()}"); MeatBase grillTurkey = new GrillTurkey(); grillTurkey = new ExtraCheese(grillTurkey); Console.WriteLine($"Name:{grillTurkey.Name}\n Count:{grillTurkey.Price()}"); Console.WriteLine("**** DUCK FABRIC ****"); var single = Singleton.getInstance(); //Pack duck: choose duck and ducks count single.PackDuck(woodDuck, 13); single.PackDuck(defaultDuck, 6); single.PackDuck(robotDuck, 46); single.PackDuck(turkeyAdapted, 6); single.PackDuck(woodDuck, 14);// exept test }
static void TryPrintMenuFromWaitress() { Console.WriteLine("\n---- Waitress ----"); var breakfastMenu = new PancakeHouseMenu(); var dinerMenu = new DinerMenu(); var cafeMenu = new CafeMenu(); var waitress = new Waitress(dinerMenu, breakfastMenu, cafeMenu); waitress.PrintMenu(); }
static void Main(string[] args) { PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); DinnerMenu dinnerMenu = new DinnerMenu(); Waitress waitress = new Waitress(new List <IMenu> { pancakeHouseMenu, dinnerMenu }); waitress.PrintMenu(); }
public void CookCanMakeOrder() { var cook = new Mock <Cook>(); var order = new Mock <MakeOrder>(It.IsAny <Cook>()); Waitress waitress = new Waitress(); waitress.Build(order.Object); waitress.PlaceOrder(); order.VerifyAll(); cook.VerifyAll(); }