Пример #1
0
        public void Setup()
        {
            Next = new ValidationResultAggregatorStub();
            Next.ReturnedValidationResults[ValidationResultScope.PropertiesOnly]           = PropertyResult;
            Next.ReturnedValidationResults[ValidationResultScope.ViewModelValidationsOnly] = ViewModelResult;
            Next.ReturnedValidationResults[ValidationResultScope.Descendants] = DescendantResult;

            Behavior = new ValidationResultAggregatorCacheBehavior();

            Counter = new NextAggregatorInvocationCounter();

            Context = ViewModelStub
                      .WithBehaviors(Behavior, Counter, Next)
                      .BuildContext();
        }
Пример #2
0
        public void HandleChange_AlsoRefreshesParentCaches()
        {
            Behavior.GetValidationResult(Context, ValidationResultScope.All);
            var newResult = ChangeNextResultsAndReturnJoinedResults();

            var childBehavior = new ValidationResultAggregatorCacheBehavior();
            var childVM       = ViewModelStub
                                .WithBehaviors(childBehavior, new ValidationResultAggregatorStub())
                                .Build();

            childVM.Kernel.Parents.Add(Context.VM);

            childBehavior.HandleChange(
                childVM.GetContext(),
                ChangeArgs.ValidationResultChanged().PrependViewModel(ViewModelStub.Build())
                );

            var actualResult = Behavior.GetValidationResult(Context, ValidationResultScope.All);

            Assert.AreEqual(newResult, actualResult);
        }