public void Retrieving_all_events_should_return_the_same_as_added()
{
var targetStore = new MsSqlServerEventStore(DEFAULT_CONNECTION);
var id = Guid.NewGuid();
int sequenceCounter = 1;
var events = new SourcedEvent[]
{
new CustomerCreatedEvent(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow, "Foo",
35),
new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow,
"Name" + sequenceCounter),
new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow,
"Name" + sequenceCounter),
new CustomerNameChanged(Guid.NewGuid(), id, sequenceCounter++, DateTime.UtcNow,
"Name" + sequenceCounter)
};
var eventSource = MockRepository.GenerateMock<IEventSource>();
eventSource.Stub(e => e.EventSourceId).Return(id);
eventSource.Stub(e => e.InitialVersion).Return(0);
eventSource.Stub(e => e.Version).Return(events.Length);
eventSource.Stub(e => e.GetUncommittedEvents()).Return(events);
targetStore.Save(eventSource);
var result = targetStore.GetAllEvents(id);
result.Count().Should().Be(events.Length);
result.First().EventIdentifier.Should().Be(events.First().EventIdentifier);
}