public async Task Dispatcher_MessageHandler_Should_Not_BeAble_ToHandle_AfterRemove() { CleanRegistrationInDispatcher(); var message = new TestMessage(); var h = new TestMessageHandler(); CoreDispatcher.AddHandlerToDispatcher(h); TestMessageHandler.IsHandled.Should().BeFalse(); await CoreDispatcher.DispatchMessageAsync(message).ConfigureAwait(false); TestMessageHandler.IsHandled.Should().BeTrue(); TestMessageHandler.ResetFlag(); CoreDispatcher.RemoveHandlerFromDispatcher(h); TestMessageHandler.IsHandled.Should().BeFalse(); await CoreDispatcher.DispatchMessageAsync(message).ConfigureAwait(false); TestMessageHandler.IsHandled.Should().BeFalse(); }
public void CoreDispatcher_RemoveHandlerFromDispatcher_EventHandler() { var h = new TestEventHandler(); CoreDispatcher.AddHandlerToDispatcher(h); var all = CoreDispatcher.TryGetHandlersForEventType(typeof(TestEvent)); all.Should().HaveCount(1); CoreDispatcher.RemoveHandlerFromDispatcher(h); all = CoreDispatcher.TryGetHandlersForEventType(typeof(TestEvent)); all.Should().HaveCount(0); }
public void CoreDispatcher_RemoveHandlerFromDispatcher_CommandHandler() { var h = new TestCommandHandler(); CoreDispatcher.AddHandlerToDispatcher(h); var coreHandler = CoreDispatcher.TryGetHandlersForCommandType(typeof(TestCommand)); coreHandler.Should().NotBeEmpty(); CoreDispatcher.RemoveHandlerFromDispatcher(h); coreHandler = CoreDispatcher.TryGetHandlersForCommandType(typeof(TestCommand)); coreHandler.Should().BeEmpty(); }
/// <summary> /// Marks the saga as complete. /// </summary> protected virtual void MarkAsComplete() { Completed = true; CoreDispatcher.RemoveHandlerFromDispatcher(this); DispatchEventAsync(ToSagaFinishedEvent(this)); }
public void CoreDispatcher_RemoveHandlerFromDispatcher_ParamsTests() { Assert.Throws <ArgumentNullException>(() => CoreDispatcher.RemoveHandlerFromDispatcher(null)); }