public async Task GIVEN_event_store_writing_instances_WHEN_saving_events_THEN_retrieves_events_with_event_store_read_instance() { // Arrange var eventStoreWriter = new InMemoryEventStore(); var eventStoreReader = new InMemoryEventStore(); var event1 = new TestEvent("1", "Prop1_1"); event1.SetVersion(0); var event2 = new TestEvent("1", "Prop1_2"); event2.SetVersion(1); var event3 = new TestEvent("2", "Prop1_3"); event3.SetVersion(0); // Act await eventStoreWriter.SaveAsync(new [] { event2 }); await eventStoreWriter.SaveAsync(new[] { event1 }); await eventStoreWriter.SaveAsync(new [] { event3 }); var events = await eventStoreReader.GetByAggregateRootIdAsync("1", Constants.INITIAL_VERSION); // Assert events .Should() .HaveCount(2); events .Should() .BeInAscendingOrder(e => e.Version); }