public async Task ShouldRetrieveEventFromIndexAsync() { var unsavedEvent1 = new TestEvent { Property1 = "test" }; var unsavedEvent2 = new TestEvent2 { Property1 = "test", Property2 = "test2" }; var eventStore = new MemoryEventStore(); var savedEvent1 = await eventStore.Save(unsavedEvent1); var savedEvent2 = await eventStore.Save(unsavedEvent2); object indexKey = new { Property1 = "" }; var indexName = "indexName"; await eventStore.Index(savedEvent1, indexName, indexKey); await eventStore.Index(savedEvent2, indexName, indexKey); var indexedEvents = await eventStore.GetByIndex(indexName); Assert.AreEqual(2, indexedEvents.Count()); }