示例#1
0
        public void InitializeEmptyExecutionQueue()
        {
            ITaskExecutor taskQueue = new ExecutionQueue("EQ");

            taskQueue.Start();

            if (!taskQueue.IsStarted)
            {
                throw new InvalidOperationException();
            }

            taskQueue.Stop(true);

            if (taskQueue.IsStarted)
            {
                throw new InvalidOperationException();
            }
        }
示例#2
0
        public void InitializeExecuteActions()
        {
            ITaskExecutor taskQueue = new ExecutionQueue();
            int           counter   = 0;

            taskQueue.Start();
            taskQueue.Add((e) => { counter++; });
            taskQueue.Add((e) => { if (counter == 1)
                                   {
                                       counter++;
                                   }
                          });
            taskQueue.Add((e) => { if (counter == 2)
                                   {
                                       counter++;
                                   }
                          });

            // complete all tasks:
            taskQueue.Stop(true);

            Assert.AreEqual(3, counter, "3 Tasks should perform their job!");
        }