public void ResolverShouldThrowExceptionIfObjectIsAlreadyRegisteredRewriteFalse()
        {
            const string name     = "name";
            var          source   = new BindingResourceObject("test");
            var          resolver = CreateBindingResourceResolver();

            resolver.AddObject(name, source, false);
            ShouldThrow(() => resolver.AddObject(name, source, false));
        }
示例#2
0
        public static BindingResourceObject AddObject([NotNull] this IBindingResourceResolver resolver, [NotNull] string name,
                                                      object value, bool rewrite = true)
        {
            Should.NotBeNull(resolver, nameof(resolver));
            var resourceObject = new BindingResourceObject(value);

            resolver.AddObject(name, resourceObject, rewrite);
            return(resourceObject);
        }
        public void ResolverShouldRegisterAndResolveObject()
        {
            const string name     = "name";
            var          source   = new BindingResourceObject("test");
            var          resolver = CreateBindingResourceResolver();

            resolver.ResolveObject(name, EmptyContext, false).ShouldBeNull();
            resolver.AddObject(name, source, true);
            resolver.ResolveObject(name, EmptyContext, true).ShouldEqual(source);
        }
示例#4
0
        public BindingResourcesViewModel()
        {
            var resourceResolver = BindingServiceProvider.ResourceResolver;

            _objResource = new BindingResourceObject("String value");
            resourceResolver.AddObject("obj", _objResource);
            resourceResolver.AddMethod("Method", new BindingResourceMethod(Method, typeof(object)));
            resourceResolver.AddType("CustomType", typeof(BindingResourcesViewModel));
            UpdateResourceCommand = new RelayCommand(UpdateResource);
        }
        public void ResolverShouldNotThrowExceptionIfObjectIsAlreadyRegisteredRewriteTrue()
        {
            const string name     = "name";
            var          source   = new BindingResourceObject("test");
            var          source2  = new BindingResourceObject("test");
            var          resolver = CreateBindingResourceResolver();

            resolver.AddObject(name, source, false);
            resolver.AddObject(name, source2, true);
            resolver.ResolveObject(name, EmptyContext, true).ShouldEqual(source2);
        }
示例#6
0
        public void ResolverShouldRegisterAndResolveDynamicObject()
        {
            const string name        = "name";
            const string firstValue  = "1";
            const string secondValue = "2";
            var          source      = new BindingResourceObject(firstValue);
            var          resolver    = CreateBindingResourceResolver();

            bool isInvoked = false;
            var  value     = resolver.ResolveObject(name, EmptyContext, false);

            value.Value.ShouldBeNull();
            value.ValueChanged += (sender, args) => isInvoked = true;

            resolver.AddObject(name, source, true);
            value.Value.ShouldEqual(firstValue);
            isInvoked.ShouldBeTrue();

            isInvoked = false;
            resolver.AddObject(name, new BindingResourceObject(secondValue), true);
            value.Value.ShouldEqual(secondValue);
            isInvoked.ShouldBeTrue();
        }