Exemplo n.º 1
0
        public void Should_prevent_new_actions_from_being_queued()
        {
            ActionQueue queue = new ThreadPoolActionQueue();

            var called = new Future<bool>();

            queue.StopAcceptingActions();

            Assert.Throws<ActionQueueException>(() => queue.Enqueue(() => called.Complete(true)));

            queue.ExecuteAll(10.Seconds());

            called.IsAvailable().ShouldBeFalse();
        }
Exemplo n.º 2
0
        public void Should_result_in_no_waiting_actions_in_the_queue()
        {
            TraceLogProvider.Configure(LogLevel.Debug);

            ActionQueue queue = new ThreadPoolActionQueue();

            queue.Enqueue(() => Thread.Sleep(1000));

            var called = new Future<bool>();

            queue.Enqueue(() => called.Complete(true));

            queue.ExecuteAll(8.Seconds());

            called.IsAvailable().ShouldBeTrue();
        }