public void Can_terminate_specific_running_command_multipletimes() { int executionCount = 0; EventWaitHandle counterDone = new EventWaitHandle(false, EventResetMode.ManualReset); var command = new Command("cmd", () => { executionCount++; counterDone.Set(); DoSomeCancellableAction(); }); commandHandler.RegisterCommand(command); for (var i = 0; i < 10; i++) { int oldExecutionCount = executionCount; counterDone.Reset(); Task.Run(() => commandHandler.Invoke("cmd")); counterDone.AssertWaitOneSuccess(); commandHandler.Terminate("cmd", AssertionExtensions.FastTimeout); commandHandler.RunningCommands.Should().BeEmpty(); executionCount.Should().Be(oldExecutionCount + 1); } executionCount.Should().Be(10); }
public void WaitForAdditionalAction() { additionalActionFinished.AssertWaitOneSuccess(); }
public void WaitForInitialization() { trace.AppendLine("WaitForInitialiation: OnEntry"); initializeEvent.AssertWaitOneSuccess(); trace.AppendLine("WaitForInitialiation: OnExit"); }