public async Task GetNonExistingSettingReturnsNull(
            TestTokenReplacementSettingSource settingsSource,
            string setting)
        {
            var value = await settingsSource.GetSetting(setting);

            Assert.Null(value);
        }
        public async Task GetSettingWithTokenForMissingSettingReturnsModified(
            TestTokenReplacementSettingSource settingsSource,
            string setting)
        {
            settingsSource.AddSetting(setting, "__bar__");
            var value = await settingsSource.GetSetting(setting);

            Assert.Equal(string.Empty, value);
        }
        public async Task GetSettingWithSingleTokenReturnsUnmodified(
            TestTokenReplacementSettingSource settingsSource,
            string setting)
        {
            settingsSource.AddSetting(setting, "__bar");
            var value = await settingsSource.GetSetting(setting);

            Assert.Equal("__bar", value);
        }
        public async Task GetSettingWithTextAndTokenReturnsModified(
            TestTokenReplacementSettingSource settingsSource,
            string setting)
        {
            settingsSource.AddSetting("bar", "foo");
            settingsSource.AddSetting(setting, "baz__bar__");
            var value = await settingsSource.GetSetting(setting);

            Assert.Equal("bazfoo", value);
        }
        public async Task GetSettingNoTokenReturnsUnmodified(
            TestTokenReplacementSettingSource settingsSource,
            string setting,
            string settingValue)
        {
            settingsSource.AddSetting(setting, settingValue);
            var value = await settingsSource.GetSetting(setting);

            Assert.Equal(settingValue, value);
        }