Exemplo n.º 1
0
        public void ViewModelValidator_Child_IValidatableObject()
        {
            var testViewModel = new TestViewModel5() { Child = new TestViewModel5Child() { IsChecked = true } };
            var validator = CreateValidator();
            var results = validator.ValidateViewModel(testViewModel).OrderBy(n => n.PropertyPath).ToList();

            Assert.AreEqual(1, results.Count);
            Assert.AreEqual("Child().ConditionalRequired", results[0].PropertyPath);
        }
Exemplo n.º 2
0
        public void ViewModelValidator_Child_IValidatableObject()
        {
            var testViewModel = new TestViewModel5()
            {
                Child = new TestViewModel5Child()
                {
                    IsChecked = true
                }
            };
            var validator = CreateValidator();
            var results   = validator.ValidateViewModel(testViewModel).OrderBy(n => n.PropertyPath).ToList();

            Assert.AreEqual(1, results.Count);
            Assert.AreEqual("Child().ConditionalRequired", results[0].PropertyPath);
        }
        public void Test_MethodInvoker_Basic()
        {
            var viewModel5 = new TestViewModel5();

            var canMethodInvoker = new MethodInvoker(new BindContext(viewModel5, "TestViewModel"), "CanAddAge", null);
            var methodInvoker    = new MethodInvoker(new BindContext(viewModel5, "TestViewModel"), "AddAge", null);

            bool value = canMethodInvoker.CanInvoke();

            Assert.IsFalse(value);
            methodInvoker.Invoke();

            viewModel5.TestViewModel = new TestViewModel();
            value = canMethodInvoker.CanInvoke();
            Assert.IsTrue(value);
            methodInvoker.Invoke();

            Assert.AreEqual(1, viewModel5.TestViewModel.Age);

            var canMethodInvoker2 = new MethodInvoker(new BindContext(viewModel5, "TestViewModel"), "AddAge", null);

            MissingMemberException exception = null;

            try
            {
                canMethodInvoker2.CanInvoke();
            }
            catch (MissingMemberException e)
            {
                exception = e;
            }
            Assert.IsNotNull(exception);

            var vm = new TestViewModel();

            var canMethodInvoker3 = new MethodInvoker(new BindContext(viewModel5, "TestViewModel"), "CanSetAge",
                                                      new[] { new BindContext(vm, "Age") });
            var methodInvoker2 = new MethodInvoker(new BindContext(viewModel5, "TestViewModel"), "SetAge",
                                                   new[] { new BindContext(vm, "Age") });

            Assert.IsTrue(canMethodInvoker3.CanInvoke());
            vm.Age = 6;
            Assert.AreNotEqual(6, viewModel5.TestViewModel.Age);

            methodInvoker2.Invoke();
            Assert.AreEqual(6, viewModel5.TestViewModel.Age);
        }
Exemplo n.º 4
0
        public void Test_BindingEngine_MethodBinding_Expression()
        {
            var viewModel = new TestViewModel5();
            var button    = new Button();

            BindingEngine.SetMethodBinding(button, null, viewModel, o => o.TestViewModel)
            .Initialize <WeakMethodBinding>()
            .AttachSourceMethod("AddAge", null)
            .AttachSourceCanInvokeMethod("CanAddAge", null)
            .AttachTargetEvent("Click");

            viewModel.TestViewModel = new TestViewModel();

            Assert.AreEqual(0, viewModel.TestViewModel.Age);

            button.PerformClick();

            Assert.AreEqual(1, viewModel.TestViewModel.Age);
        }
        public void DefaultViewModelSerializer_SignedAndEncryptedValue_NullableInt_NullValue()
        {
            var oldViewModel = new TestViewModel5()
            {
                ProtectedNullable = null
            };

            context.ViewModel = oldViewModel;

            serializer.BuildViewModel(context);
            var result = context.GetSerializedViewModel();

            result = UnwrapSerializedViewModel(result);
            result = WrapSerializedViewModel(result);

            var newViewModel = new TestViewModel5();

            context.ViewModel = newViewModel;
            serializer.PopulateViewModel(context, result);

            Assert.AreEqual(oldViewModel.ProtectedNullable, newViewModel.ProtectedNullable);
        }
        public void DefaultViewModelSerializer_SignedAndEncryptedValue_NullableInt_NullValue()
        {
            var oldViewModel = new TestViewModel5()
            {
                ProtectedNullable = null
            };
            context.ViewModel = oldViewModel;

            serializer.BuildViewModel(context);
            var result = context.GetSerializedViewModel();
            result = UnwrapSerializedViewModel(result);
            result = WrapSerializedViewModel(result);

            var newViewModel = new TestViewModel5();
            context.ViewModel = newViewModel;
            serializer.PopulateViewModel(context, result);

            Assert.AreEqual(oldViewModel.ProtectedNullable, newViewModel.ProtectedNullable);
        }