예제 #1
0
        public async Task Sequential_2Jobs_Raises2JobCompletedEvents()
        {
            //Arrange.
            List <Action> jobs = new List <Action>();

            for (int i = 0; i < 2; i++)
            {
                jobs.Add(new Action(MethodDoWork));
            }

            var processor = new SequentialProcessor();

            int numberOfEvents = 0;

            processor.JobCompleted += (sender, e) =>
            {
                numberOfEvents++;
            };

            //Act.
            await processor.DoWork(2, jobs);

            //Assert.
            Assert.True(numberOfEvents == 2);
        }
예제 #2
0
        public async Task Sequential_1Job_Raises1JobCount()
        {
            //Arrange.
            List <Action> jobs = new List <Action>();

            for (int i = 0; i < 1; i++)
            {
                jobs.Add(new Action(MethodDoWork));
            }

            var processor = new SequentialProcessor();

            processor.JobCompleted += (sender, e) =>
            {
                Assert.Equal(1, e.JobCount);
            };

            //Act.
            await processor.DoWork(1, jobs);

            //Assert.
        }
예제 #3
0
 public void RemoveProcessor(int index)
 {
     SequentialProcessor.RemoveAt(index);
 }
예제 #4
0
 public void AddProcessor(IProcessor processor)
 {
     SequentialProcessor.Add(processor);
 }