public void Should_be_able_to_test_raising_a_domain_event() { var @event = new SomethingAwesomeHappened(); IDomainEvent rasisedEvent = null; DomainEvent.RaiseAction = e => rasisedEvent = e; DomainEvent.Raise(@event); rasisedEvent.ShouldBeTheSameAs(@event); DomainEvent.RaiseAction = null; }
public void Should_execute_handlers_on_event() { var messages = new System.Collections.Generic.List <string>(); using (var container = new WindsorContainer() .Register( Component.For <Action <string> >().Instance(messages.Add), AllTypes.FromAssembly(Assembly.GetExecutingAssembly()) .BasedOn(typeof(IHandle <>)).WithService.Base() .Configure(c => c.LifeStyle.Transient) )) { DomainEvent.ReturnContainer = () => container; var @event = new SomethingAwesomeHappened(); DomainEvent.Raise(@event); DomainEvent.ReturnContainer = null; } messages.Count.ShouldEqual(2); messages[0].ShouldEqual("handler1"); messages[1].ShouldEqual("handler2"); }