private DomainModelEventHandler1 RegisterDomainEventHandler() { var container = new AsyncLocalScopedContainer(); container.Register <SingleInstanceFactory>((Type type) => container.Resolve(type)); DomainEventStore.InstanceFactory = () => container.Resolve <SingleInstanceFactory>(); var domainEventHandler = new DomainModelEventHandler1(); container.Register(domainEventHandler); DomainEventStore.RegisterHandler <DomainModelEvent1, DomainModelEventHandler1>(); return(domainEventHandler); }
public async void Test1() { // arrange var domainModel = new DomainModel1(2); var eventHandler = RegisterDomainEventHandler(); // act domainModel.DoSomething(); DomainEventStore.WaitForAllEvents().Wait(); // assert var loggedEvent = eventHandler.RaisedDomainEvents.Single(); Assert.Equal(2, loggedEvent.Id); Assert.Equal(2, AsyncLocalScopedContainer._asyncLocalDictionary.Value.Count()); }