示例#1
0
        public void ByServiceProvider()
        {
            var act = EventHandlerDescriptor.ByServiceProvider <EmptyEventHandler>();

            act.ActivationType.ShouldBe(EventHandlerActivationType.ByServiceProvider);
            act.HandlerType.ShouldBe(typeof(EmptyEventHandler));
        }
示例#2
0
        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>();
        }