public void InaccessibleTypeParameterCanBeUsed() { // This test is necessary for checking that the repository can be used with inaccessible type parameters. // See the bug in .NET Framework: https://connect.microsoft.com/VisualStudio/feedback/details/672411/bug-in-dynamic-dispatch-when-using-generic-type-parameters InternalAggregateRoot aggregateRoot = new InternalAggregateRoot(Guid.NewGuid()); aggregateRoot.ApplyEvent(domainEvent); var privateSut = new InternalAsyncDomainRepository(eventHandlerResolver); privateSut.ApplyChangesAsync(aggregateRoot).Wait(); domainEventHandler1.Received().ExecuteAsync(domainEvent); domainEventHandler2.Received().ExecuteAsync(domainEvent); }