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