public async Task GetByKey()
        {
            var   repository = new ParamRepository(SessionFactory);
            Param param      = MakeParam();
            await repository.Save(param).ConfigureAwait(false);

            var retrieved = await repository.GetByKey(param.Key).ConfigureAwait(false);

            Assert.AreEqual(param.Value, retrieved.Value);
        }
        public async Task UpdateParamValue()
        {
            var repository = new ParamRepository(SessionFactory);
            var param      = MakeParam();
            await repository.Save(param).ConfigureAwait(false);

            string modifiedValue = param.Value + "-modified";

            param.Value = modifiedValue;
            await repository.Save(param).ConfigureAwait(false);

            var retrieved = await repository.GetByKey(param.Key).ConfigureAwait(false);

            Assert.AreEqual(modifiedValue, retrieved.Value);
        }
        public async Task UpdateDescription()
        {
            var repository = new ParamRepository(SessionFactory);
            var param      = MakeParam();
            await repository.Save(param).ConfigureAwait(false);

            var modifiedDescription = param.Description + " (modified)";

            param.Description = modifiedDescription;
            await repository.Save(param).ConfigureAwait(false);

            var retrieved = await repository.GetByKey(param.Key).ConfigureAwait(false);

            Assert.NotNull(param.Description);
            Assert.AreEqual(modifiedDescription, retrieved.Description);
        }