public void ShouldSaveEvents()
        {
            // ARRANGE
            var repository = new SqliteEventRepository(_connectionString);

            var testEvent = new SqliteTestEvent
            {
                DummyPayload = "Hello, World!",
            };

            var e = testEvent.ToEventData("TestAggregate", _aggregateId, 1);

            // ACT
            var events = repository.SaveEvents(new[] { e });

            // ASSERT
            Assert.AreEqual(1, events.Length);
            Assert.AreNotEqual(0, events.First().Ordering);
        }
        public void ShouldSaveMultipleEvents()
        {
            // ARRANGE
            var repository = new SqliteEventRepository(_connectionString);

            var testEvent = new SqliteTestEvent
            {
                DummyPayload = "Hello, World!",
            };

            const int numberOfEvents = 100;

            var eventsToSave = Enumerable.Range(1, numberOfEvents)
                               .Select(x => testEvent.ToEventData("TestAggregate", _aggregateId, x))
                               .ToArray();

            // ACT
            var events = repository.SaveEvents(eventsToSave);

            // ASSERT
            Assert.AreEqual(numberOfEvents, events.Length);
            Assert.IsFalse(events.Any(x => x.Ordering == 0));
            Assert.AreEqual(numberOfEvents, events.Select(x => x.Ordering).Distinct().Count());
        }