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")); }
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); }
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)); }
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])); }