public void RetrieveByIdNoMatchesTest()
        {
            var sqlEventStore = new SqlEventStore(connectionString);

            var events = sqlEventStore.RetrieveById(Guid.NewGuid().ToString());

            Assert.IsNotNull(events);
        }
        public void RetrieveByIdReturnsEventsInOrderTest()
        {
            var testModel = new TestModel();

            var sqlEventStore = new SqlEventStore(connectionString);

            foreach (var id in testModel.AllEvents.Select(e => e.AggregateId).Distinct())
            {
                sqlEventStore.Store(id, testModel.AllEvents.Where(e => e.AggregateId == id));
            }

            var events = sqlEventStore.RetrieveById(testModel.AggregateIds[0]);

            Assert.IsTrue(events.Select(e => e.AggregateVersion).SequenceEqual(Enumerable.Range(1, events.Count())));
        }
        public void RetrieveByIdReturnsCorrectlyTypedEventsTest()
        {
            var testModel = new TestModel();

            var sqlEventStore = new SqlEventStore(connectionString);

            foreach (var id in testModel.AllEvents.Select(e => e.AggregateId).Distinct())
            {
                sqlEventStore.Store(id, testModel.AllEvents.Where(e => e.AggregateId == id));
            }

            var events = sqlEventStore.RetrieveById(testModel.AggregateIds[0]);

            Assert.IsInstanceOfType(events.First(), typeof(IEvent <LocationCreated>));
        }
        public void RetrieveByIdReturnsEventsTest()
        {
            var testModel = new TestModel();

            var sqlEventStore = new SqlEventStore(connectionString);

            foreach (var id in testModel.AllEvents.Select(e => e.AggregateId).Distinct())
            {
                sqlEventStore.Store(id, testModel.AllEvents.Where(e => e.AggregateId == id));
            }

            var events = sqlEventStore.RetrieveById(testModel.AggregateIds[0]);

            Assert.IsTrue(events.Count() == testModel.AllEvents.Count(e => e.AggregateId == testModel.AggregateIds[0]) && events.All(e => e.AggregateId == testModel.AggregateIds[0]));
        }