public void ByServiceProvider() { var act = EventHandlerDescriptor.ByServiceProvider <EmptyEventHandler>(); act.ActivationType.ShouldBe(EventHandlerActivationType.ByServiceProvider); act.HandlerType.ShouldBe(typeof(EmptyEventHandler)); }
public void GetEventHandlerFactory() { var serviceProvider = new ServiceCollection() .AddSingleton <IHybridServiceScopeFactory, DefaultServiceScopeFactory>() .AddTransient <EmptyEventHandler>() .BuildServiceProvider(); var handler = EventHandlerDescriptor.ByServiceProvider <EmptyEventHandler>() .GetEventHandlerFactory(serviceProvider).ShouldBeOfType <IocEventHandlerFactory>() .GetHandler(); handler.EventHandler.ShouldBeOfType <EmptyEventHandler>(); handler.Dispose(); EventHandlerDescriptor.Singleton <EmptyEventHandler>() .GetEventHandlerFactory(serviceProvider).ShouldBeOfType <SingleInstanceHandlerFactory>() .GetHandler().EventHandler.ShouldBeOfType <EmptyEventHandler>(); EventHandlerDescriptor.Transient <EmptyEventHandler>() .GetEventHandlerFactory(serviceProvider).ShouldBeOfType <TransientEventHandlerFactory>() .GetHandler().EventHandler.ShouldBeOfType <EmptyEventHandler>(); }