public void InitClasses() { ser = new ServiceLayer.ServiceLayer(); rob = new RobotCellLayer.RobotCellLayer(); da = new DataAccess.DataAccess(); rob.AddRobot("SIM", "SIM"); logic = new LogicLayer.LogicLayer(ser, rob, da); var shelf = new Bottleshelf(10, 0); shelf.AddBottle(new Bottle("Vodka")); shelf.AddBottle(new Bottle("Vesi")); shelf.AddBottle(new Bottle("Mehu")); var queue = new OrderQueue(); var kv = new Drink("Kossuvissy"); Assert.IsTrue(kv.AddPortion("Vodka", 4)); Assert.IsTrue(kv.AddPortion("Vesi", 10)); var mehu = new Drink("Mehu"); Assert.IsTrue(mehu.AddPortion("Mehu", 10)); queue.Add(new Tuple <Order, int>(new Order(OrderType.Drink, 1, 1, kv), 10)); queue.Add(new Tuple <Order, int>(new Order(OrderType.Drink, 2, 4, mehu), 10)); queue.Add(new Tuple <Order, int>(new Order(OrderType.Drink, 3, 3, kv), 10)); queue.Add(new Tuple <Order, int>(new Order(OrderType.Drink, 4, 1, kv), 10)); var startarg = new StartArguments(); startarg.BackupShelf = shelf; startarg.Mode = RunMode.Simulation; startarg.Beer = false; startarg.Drinks = true; startarg.Sparkling = false; startarg.IdleActivity = new Activity(ActivityType.ProcessOrders); startarg.BacckupQueue = queue; var init = Task.Run(() => logic.Initialize(startarg, new CancellationToken())); init.Wait(); Assert.IsTrue(init.Result); }
public void Orderqueue() { Assert.AreEqual(_queue.Count, 0, "Queuecount1"); Assert.IsTrue(_queue.Add(new Order(OrderType.Sparkling, 1, 1), 10)); Assert.AreEqual(_queue.Count, 1, "Queuecount2"); Assert.IsTrue(_queue.Add(new Order(OrderType.Beer, 2, 1), 88)); Assert.AreEqual(_queue.Count, 2, "Queuecount3"); Assert.IsTrue(_queue.Add(new Order(OrderType.Drink, 3, 1, new Drink("A")), 10)); Assert.IsTrue(_queue.Add(new Order(OrderType.Drink, 0, 1, new Drink("B")), 10)); Assert.AreEqual(_queue.Pop().GetOrderType(), OrderType.Beer, "Queue1"); Assert.AreEqual(_queue.Pop().GetRecipe().Name, "B", "Queue2"); Assert.AreEqual(_queue.Pop().GetOrderType(), OrderType.Sparkling, "Queue3"); Assert.AreEqual(_queue.Pop().GetRecipe().Name, "A", "Queue4"); for (int i = 0; i < 20; i++) { Assert.IsTrue(_queue.Add(new Order(OrderType.Sparkling, i, 1), 10)); } for (int i = 0; i < 20; i++) { Assert.AreEqual(i, _queue.Pop().OrderId); } Assert.IsNull(_queue.Pop()); try { _queue.Add(new Order(OrderType.Beer, 2, 1), -1); Assert.Fail("Expected a ArgumentOutOfRangeException"); } catch (ArgumentOutOfRangeException) { } }
public void HandleClient(TcpClient tcpClient) { if (OrderProtocol.Handshake(tcpClient)) { Console.WriteLine("Accepted new client."); lock (lockObj) { Clients.Add(tcpClient); } int clientId = Clients.IndexOf(tcpClient); while (running) { Order order = OrderProtocol.ReadOrder(tcpClient); OrderQueue.Add(order); } } }