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(); }
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(); }