Esempio n. 1
0
        public void ShouldSetValueUsingSettingsStoreAccessor()
        {
            _accessor.Setup(o =>
                            o.SetSetting(It.IsAny <object>(), It.IsAny <SettingsNamespace>(), It.IsAny <string>(), It.IsAny <object>()));
            var _adapter = new SettingAdapter(_accessor.Object, null, new SettingsNamespace("Namespace"), "Setting");

            _adapter.SetValue(null);
            _accessor.VerifyAll();
        }
Esempio n. 2
0
        public void ShouldPassSettingNameKeyWhenGettingValue()
        {
            var settingName = "Setting";

            _accessor.Setup <object>(o =>
                                     o.GetSetting(It.IsAny <object>(), It.IsAny <SettingsNamespace>(), settingName));
            var _adapter = new SettingAdapter(_accessor.Object, null, new SettingsNamespace("Namespace"), settingName);
            var value    = _adapter.GetValue();

            _accessor.VerifyAll();
        }
Esempio n. 3
0
        public void ShouldPassNamespaceKeyWhenGettingValue()
        {
            var @namespace = new SettingsNamespace("Namespace");

            _accessor.Setup <object>(o =>
                                     o.GetSetting(It.IsAny <object>(), @namespace, It.IsAny <string>()));
            var _adapter = new SettingAdapter(_accessor.Object, null, @namespace, "Setting");
            var value    = _adapter.GetValue();

            _accessor.VerifyAll();
        }
Esempio n. 4
0
        public void ShouldPassStoreKeyWhenGettingValue()
        {
            var storeKey = "Key";

            _accessor.Setup <object>(o =>
                                     o.GetSetting(storeKey, It.IsAny <SettingsNamespace>(), It.IsAny <string>()));
            var _adapter = new SettingAdapter(_accessor.Object, storeKey, new SettingsNamespace("Namespace"), "Setting");
            var value    = _adapter.GetValue();

            _accessor.VerifyAll();
        }
Esempio n. 5
0
        public void ShouldPassNewValueWhenSettingValue()
        {
            var value = new object();

            _accessor.Setup(o =>
                            o.SetSetting(It.IsAny <object>(), It.IsAny <SettingsNamespace>(), It.IsAny <string>(), value));
            var _adapter = new SettingAdapter(_accessor.Object, null, new SettingsNamespace("Namespace"), "Setting");

            _adapter.SetValue(value);
            _accessor.VerifyAll();
        }
Esempio n. 6
0
        public IEnumerable <ISettingBinding> ProvideBindings(DependencyObject target)
        {
            var keySelector = ItemKeySelector ?? (item => SelectKey(item, ItemKeyProperty));
            var adapter     = _adapterFactoryChain.CreateValue <ICollectionAdapter>(
                factory => factory(target, keySelector));

            if (adapter == null)
            {
                return(Enumerable.Empty <ISettingBinding>());
            }

            var @namespace      = Settings.GetNamespace(target);
            var settingsAdapter = new SettingAdapter(Settings.CurrentStoreAccessor, Store, @namespace, Setting);
            var comparer        = Comparer ?? EqualityComparer <object> .Default;

            return(new[] { new SetBinding(adapter, settingsAdapter, comparer) });
        }
Esempio n. 7
0
        public IEnumerable <ISettingBinding> ProvideBindings(DependencyObject target)
        {
            var selector = target as Selector;

            if (selector == null || Setting == null)
            {
                return(Enumerable.Empty <ISettingBinding>());
            }

            var targetAdapterBuilder = TargetAdapterBuilder ?? (adapter => adapter);
            var settingAdapter       = new SettingAdapter(Settings.CurrentStoreAccessor, Store, Settings.GetNamespace(selector), Setting);
            var binding =
                new ListBinding(
                    targetAdapterBuilder(
                        new SelectorSortDescriptionsAdapter(
                            new SelectorItemsSourceViewAdapter(selector))),
                    settingAdapter);

            return(new[] { binding });
        }