コード例 #1
0
        public void Register_PassingNullAsMultipleProjections_ShouldThrowException()
        {
            var builder = new ProjectorBuilder <string, FakeMessageEnvelope>();
            var ex      = Assert.Throws <ArgumentNullException>(() => builder.Register((Projection <string, FakeConnection, FakeMessageEnvelope>[])null));

            Assert.That(ex.ParamName, Is.EqualTo("projections"));
        }
コード例 #2
0
        RegisterProjectionsFromAutofac <TProjectionKey, TMessageEnvelope>(this ProjectorBuilder <TProjectionKey, TMessageEnvelope> builder, IComponentContext componentContext)
            where TProjectionKey : IEquatable <TProjectionKey>
            where TMessageEnvelope : MessageEnvelope
        {
            var projections = componentContext.Resolve <IEnumerable <IProjection <TProjectionKey, TMessageEnvelope> > >();

            builder.Register(projections);
            return(builder);
        }
コード例 #3
0
        public void Build_WithCertainDependencyLifetimeScopeFactory_ShouldGetPassedToProjectorInstance()
        {
            var projection = new TestProjection("A");
            var builder    = new ProjectorBuilder <string, FakeMessageEnvelope>();

            builder.Register(projection).SetDependencyLifetimeScopeFactory(_factoryMock.Object);

            var projector = builder.Build <TestNextSequenceNumberRepository>();

            Assert.That(projector.DependencyLifetimeScopeFactory, Is.EqualTo(_factoryMock.Object));
        }
コード例 #4
0
        public void Build_WithMultipleProjectionsRegistered_ShouldGetPassedToProjectorInstance()
        {
            var projections = new[] { new TestProjection("A"), new TestProjection("B") };
            var builder     = new ProjectorBuilder <string, FakeMessageEnvelope>();

            builder.Register(projections).SetDependencyLifetimeScopeFactory(_factoryMock.Object);

            var projector = builder.Build <TestNextSequenceNumberRepository>();

            Assert.That(projector.Projections.Length, Is.EqualTo(2));
            Assert.That(projector.Projections[0], Is.EqualTo(projections[0]));
            Assert.That(projector.Projections[1], Is.EqualTo(projections[1]));
        }