public void HandleTMessage_releys_with_non_cancellation_token(Envelope <object> envelope)
        {
            var task = Task.FromResult(true);
            IHandles <object> handles = Mock.Of <IHandles <object> >(
                x => x.Handle(envelope, CancellationToken.None) == task);

            Task result = handles.Handle(envelope);

            Mock.Get(handles).Verify(x => x.Handle(envelope, CancellationToken.None), Times.Once());
            result.Should().BeSameAs(task);
        }
Beispiel #2
0
        public static Task Handle <TMessage>(
            this IHandles <TMessage> handles,
            Envelope <TMessage> envelope)
            where TMessage : class
        {
            if (handles == null)
            {
                throw new ArgumentNullException(nameof(handles));
            }

            return(handles.Handle(envelope, CancellationToken.None));
        }
Beispiel #3
0
        public static void Raise <T>(T domainEvent)
            where T : IDomainEvent
        {
            foreach (Delegate handler in _dynamicHandlers[domainEvent.GetType()])
            {
                var action = (Action <T>)handler;
                action(domainEvent);
            }

            foreach (Type handler in _staticHandlers)
            {
                if (typeof(IHandles <T>).IsAssignableFrom(handler))
                {
                    IHandles <T> instance = (IHandles <T>)Activator.CreateInstance(handler);
                    instance.Handle(domainEvent);
                }
            }
        }