예제 #1
0
        public void CqrsBuilder_ThrowsException_OnNullRegistration()
        {
            //Arrange
            var builder = new CqrsBuilder();

            //Act Assert
            Assert.Throws <ArgumentNullException>(() => builder.Register(null));
            Assert.Throws <ArgumentNullException>(() => builder.RegisterDefaultHandler(null));
            Assert.Throws <ArgumentNullException>(() => builder.AutoRegisterHandlers(null));
            Assert.Throws <ArgumentNullException>(() => builder.RegisterContainer(null));
            Assert.Throws <ArgumentNullException>(() => builder.RegisterResolver(null));
        }
예제 #2
0
        public static ICqrsBuilder AddRapidCqrs(this ContainerBuilder containerBuilder)
        {
            _builder = new CqrsBuilder();
            _builder
            .RegisterContainer(new ContainerRegistration(x =>
                                                         containerBuilder
                                                         .RegisterType(x)
                                                         .AsSelf()
                                                         .InstancePerDependency()));

            containerBuilder
            .Register(x =>
            {
                var scope = x.Resolve <ILifetimeScope>();
                _builder.RegisterResolver(new BasicHandlerResolver(scope.Resolve));
                return(_builder.Build());
            })
            .As <IMediator>()
            .SingleInstance();

            return(_builder);
        }