Пример #1
0
        private static void ValidateLocalMixedScopeSettingsValuesInConfig(Type mixedScopeSettingsClass, System.Configuration.Configuration configuration, SettingValue settingValue)
        {
            if (!mixedScopeSettingsClass.IsSubclassOf(typeof(MixedScopeSettingsBase)))
            {
                throw new ArgumentException();
            }

            var settings = ApplicationSettingsHelper.GetSettingsClassInstance(mixedScopeSettingsClass);

            settings.Reload();

            SettingsProperty property = settings.Properties[MixedScopeSettingsBase.PropertyApp1];
            string           expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            var actual = (string)settings[property.Name];

            Assert.AreEqual(expected, actual);
            actual = (string)settings.GetSharedPropertyValue(property.Name);
            Assert.AreEqual(expected, actual);

            property = settings.Properties[MixedScopeSettingsBase.PropertyApp2];
            expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            actual   = (string)settings[property.Name];
            Assert.AreEqual(expected, actual);
            actual = (string)settings.GetSharedPropertyValue(property.Name);
            Assert.AreEqual(expected, actual);

            property = settings.Properties[MixedScopeSettingsBase.PropertyUser1];
            expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            actual   = (string)settings.GetSharedPropertyValue(property.Name);
            Assert.AreEqual(expected, actual);

            property = settings.Properties[MixedScopeSettingsBase.PropertyUser2];
            expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            actual   = (string)settings.GetSharedPropertyValue(property.Name);
            Assert.AreEqual(expected, actual);

            var values = configuration.GetSettingsValues(mixedScopeSettingsClass, SettingScope.Application);

            Assert.AreEqual(2, values.Count);
            property = settings.Properties[MixedScopeSettingsBase.PropertyApp1];
            expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            actual   = values[property.Name];
            Assert.AreEqual(expected, actual);

            property = settings.Properties[MixedScopeSettingsBase.PropertyApp2];
            expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            actual   = values[property.Name];
            Assert.AreEqual(expected, actual);

            values = configuration.GetSettingsValues(mixedScopeSettingsClass, SettingScope.User);
            Assert.AreEqual(2, values.Count);
            property = settings.Properties[MixedScopeSettingsBase.PropertyUser1];
            expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            actual   = values[property.Name];
            Assert.AreEqual(expected, actual);

            property = settings.Properties[MixedScopeSettingsBase.PropertyUser2];
            expected = CreateSettingValue(property, MigrationScope.Shared, settingValue);
            actual   = values[property.Name];
            Assert.AreEqual(expected, actual);
        }