Esempio n. 1
0
        public void Should_prevent_new_actions_from_being_queued()
        {
            Fiber fiber = new ThreadPoolFiber();

            var called = new Future<bool>();

            fiber.StopAcceptingActions();

            Assert.Throws<FiberException>(() => fiber.Enqueue(() => called.Complete(true)));

            fiber.ExecuteAll(10.Seconds());

            called.IsCompleted.ShouldBeFalse();
        }
Esempio n. 2
0
        public void Should_result_in_no_waiting_actions_in_the_queue()
        {
            TraceLogProvider.Configure(LogLevel.Debug);

            Fiber fiber = new ThreadPoolFiber();

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

            var called = new Future<bool>();

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

            fiber.ExecuteAll(8.Seconds());

            called.IsCompleted.ShouldBeTrue();
        }