public async Task Delete_WithRandomId()
        {
            var repository = new ParamRepository(SessionFactory);
            await repository.Delete(Guid.NewGuid()).ConfigureAwait(false);

            // should not throw exception
        }
        public async Task GetAll_NoParameters()
        {
            var repository = new ParamRepository(SessionFactory);
            var parameters = await repository.GetAll().ConfigureAwait(false);

            foreach (var p in parameters)
            {
                await repository.Delete(p.Id).ConfigureAwait(false);
            }
            parameters = await repository.GetAll().ConfigureAwait(false);

            Assert.AreEqual(0, parameters.Count());
        }
        public async Task Delete()
        {
            var repository = new ParamRepository(SessionFactory);
            var param      = MakeParam();
            await repository.Save(param).ConfigureAwait(false);

            var paramId = param.Id;
            await repository.Delete(paramId).ConfigureAwait(false);

            var retrieved = await repository.GetById(paramId).ConfigureAwait(false);

            Assert.Null(retrieved);
        }
        public async Task GetAll()
        {
            var repository = new ParamRepository(SessionFactory);
            var param      = MakeParam();
            await repository.Save(param).ConfigureAwait(false);

            var paramId    = param.Id;
            var parameters = await repository.GetAll().ConfigureAwait(false);

            Assert.AreEqual(1, parameters.Count(p => p.Id == paramId));
            foreach (var p in parameters)
            {
                await repository.Delete(p.Id).ConfigureAwait(false);
            }
            parameters = await repository.GetAll().ConfigureAwait(false);

            Assert.AreEqual(0, parameters.Count());
        }