Esempio n. 1
0
        public void BaseInitialize()
        {
            // Create
            _eventStreamNameResolver = new EventStreamNameResolver();
            EventStore          = new TestEventStore();
            _eventPublisher     = MockRepository.GenerateMock <IEventPublisher>();
            AggregateRepository = new AggregateRepository(EventStore, _eventStreamNameResolver, _eventPublisher);

            // Set up
            _eventPublisher.Expect(p => p.Publish(Arg <Guid> .Is.Anything, Arg <IEnumerable <IAggregateEvent> > .Is.Anything))
            .WhenCalled(
                (invocation) =>
            {
                Guid aggregateId = (Guid)invocation.Arguments[0];
                IEnumerable <IAggregateEvent> @events = invocation.Arguments[1] as IEnumerable <IAggregateEvent>;
                RecordedEvents.AddRange(
                    (@events ?? new IAggregateEvent[0]).Select(
                        @event => new RecordedEvent()
                {
                    AggregateId = aggregateId, Event = @event
                }));
            });
        }
Esempio n. 2
0
 public AggregateRepository(IEventStore eventStore, IEventStreamNameResolver eventStreamNameResolver, IEventPublisher eventPublisher)
 {
     _eventStore = eventStore;
     _eventStreamNameResolver = eventStreamNameResolver;
     _eventPublisher          = eventPublisher;
 }