Beispiel #1
0
        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();
        }
Beispiel #4
0
 /// <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));
 }