コード例 #1
0
        public void DeleteEmployee()
        {
            //Arrange
            var service = new TechService();

            //Act
            service.CreateTask("Запрос в службу поддержки №1");
            var operator1 = service.CreateEmployee("Operator", "Оператор");

            //Assert
            var task = Task.Run(async() =>
            {
                //Ждем пока оператор не получит задачу
                while (service.TaskManager.InWork.Count() != 1)
                {
                    await Task.Delay(500);
                }

                service.DeleteEmployee(operator1);

                //Ждем пока оператор не вернет задачу
                while (service.TaskManager.InQueue.Count() != 1)
                {
                    Assert.AreEqual(0, service.TaskManager.Done.Count());
                    await Task.Delay(500);
                }

                Assert.AreEqual(0, service.TaskManager.InWork.Count());
            });

            task.Wait();
        }