Exemple #1
0
        public void RunCompletesAfterTimeoutEvenIfTaskNeverEnds()
        {
            var runner      = new NeverEndingTaskRunner();
            var tasksRunner = new TasksRunner(new List <ITaskRunner> {
                runner
            });
            var sut         = new BlockingTaskHost(tasksRunner, TimeSpan.FromSeconds(0.5));
            var tokenSource = new CancellationTokenSource();

            using (new Timer(
                       state => tokenSource.Cancel(),
                       null,
                       TimeSpan.FromSeconds(0.5),
                       TimeSpan.FromTicks(-1)))
            {
                sut.Run(tokenSource.Token);
            }
            Assert.That(runner.CallCount, Is.EqualTo(1));
        }
Exemple #2
0
        public void RunHasExpectedBehavior()
        {
            var runner      = new StubbedTaskRunner();
            var tasksRunner = new TasksRunner(new List <ITaskRunner> {
                runner
            });
            var sut         = new BlockingTaskHost(tasksRunner, TimeSpan.Zero);
            var tokenSource = new CancellationTokenSource();

            using (new Timer(
                       state => tokenSource.Cancel(),
                       null,
                       TimeSpan.FromSeconds(0.5),
                       TimeSpan.FromTicks(-1)))
            {
                sut.Run(tokenSource.Token);
            }
            Assert.That(runner.CallCount, Is.EqualTo(1));
        }