コード例 #1
0
        public void PerformViewModelValidations_CallsRevalidationViewModelBehavior()
        {
            Revalidator.RevalidateViewModelValidations(VM);

            Assert.AreEqual(RevalidateViewModel, ActionLog);
            Assert.AreEqual(VM.GetContext(), VM.ViewModelBehavior.LastRevalidateContext);
            Assert.IsNotNull(VM.ViewModelBehavior.LastValidationController);
        }
コード例 #2
0
 public void Refresh(
     IBehaviorContext context,
     bool executeRefreshDependencies
     )
 {
     this.ViewModelRefreshNext(context, executeRefreshDependencies);
     Revalidator.RevalidateViewModelValidations(context.VM);
 }
コード例 #3
0
        public void RevalidatePropertyValidationsSelfOnly_CallsRevalidationBehaviorOfProperty()
        {
            Revalidator.RevalidatePropertyValidations(VM, VM.Property, ValidationScope.Self);

            Assert.AreEqual(RevalidateProperty, ActionLog);
            Assert.AreEqual(VM.GetContext(), VM.PropertyBehavior.LastRevalidateContext);
            Assert.IsNotNull(VM.PropertyBehavior.LastRevalidateContext);
        }
コード例 #4
0
        public void RevalidatePropertyValidationsDescendants_CallsRevalidationAndDescendantsValidationBehavior()
        {
            var scope = ValidationScope.SelfAndAllDescendants;

            Revalidator.RevalidatePropertyValidations(VM, VM.Property, scope);

            Assert.AreEqual(RevalidateDescendants + RevalidateProperty, ActionLog);
            Assert.AreEqual(VM.GetContext(), VM.PropertyBehavior.LastDescendantsContext);
            Assert.AreEqual(scope, VM.PropertyBehavior.LastDescendantsScope);
        }
コード例 #5
0
        public void RevalidateItems_PerformsPropertyAndViewModelValidationsForAllItems()
        {
            var items = new[] { CreateVM(), CreateVM() };

            Revalidator.RevalidateItems(items, ValidationScope.SelfAndAllDescendants);

            var expectedSequence =
                RevalidateDescendants + RevalidateDescendants +
                RevalidateProperty + RevalidateProperty +
                RevalidateViewModel + RevalidateViewModel;

            Assert.AreEqual(expectedSequence, ActionLog);
        }
コード例 #6
0
        public void RevalidateItems_PassesSameValidationControllerToAllItems()
        {
            var first  = CreateVM();
            var second = CreateVM();
            var items  = new[] { first, second };

            Revalidator.RevalidateItems(items, ValidationScope.SelfAndAllDescendants);

            Assert.AreEqual(
                first.PropertyBehavior.LastValidationController,
                second.PropertyBehavior.LastValidationController
                );

            Assert.AreEqual(
                first.ViewModelBehavior.LastValidationController,
                second.ViewModelBehavior.LastValidationController
                );
        }
コード例 #7
0
        protected void SetFailedResult(ValidatorInvocation target, string errorDetails)
        {
            var stateBefore = GetState();

            SetupFailingValidator(target, errorDetails);
            if (target.TargetProperty != null)
            {
                Revalidator.RevalidatePropertyValidations(
                    target.TargetVM,
                    target.TargetProperty,
                    ValidationScope.Self
                    );
            }
            else
            {
                Revalidator.RevalidateViewModelValidations(target.TargetVM);
            }

            stateBefore.RestoreToState();
        }
コード例 #8
0
 public void HandleChange(IBehaviorContext context, ChangeArgs args)
 {
     this.HandleChangedNext(context, args);
     Revalidator.RevalidateViewModelValidations(context.VM);
 }
コード例 #9
0
 public void Revalidate_PerformsPropertyAndViewModelValidation()
 {
     Revalidator.Revalidate(VM, ValidationScope.SelfAndAllDescendants);
     Assert.AreEqual(RevalidateDescendants + RevalidateProperty + RevalidateViewModel, ActionLog);
 }
コード例 #10
0
 public void RevalidateViewModelValidations()
 {
     Revalidator.RevalidateViewModelValidations(this);
 }