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

            //Act
            var director  = service.CreateEmployee("Director", "Директор");
            var manager   = service.CreateEmployee("Manager", "Менеджер");
            var operator1 = service.CreateEmployee("Operator", "Оператор");

            //Assert
            Assert.AreEqual(3, service.Employees.Count);
            Assert.IsInstanceOfType(director, typeof(Director));
            Assert.IsInstanceOfType(manager, typeof(Manager));
            Assert.IsInstanceOfType(operator1, typeof(Operator));
        }
コード例 #2
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();
        }