Пример #1
0
        private void AssertStandardValidators(
            IVMDescriptor descriptor,
            ValidationStep step,
            PathDefinition targetPath,
            IValidator validator,
            Func <ValidatorConditionArgs <EmployeeVM, IViewModel <ProjectVMDescriptor> >, bool> condition1 = null,
            Func <ValidatorConditionArgs <EmployeeVM, IViewModel <ProjectVMDescriptor> >, bool> condition2 = null
            )
        {
            IValidator expectedValidator = validator;

            if (condition2 != null)
            {
                expectedValidator = new ConditionalValidator(
                    new DelegateValidatorCondition <EmployeeVM, IViewModel <ProjectVMDescriptor> >(condition2, 0),
                    expectedValidator
                    );
            }

            if (condition1 != null)
            {
                expectedValidator = new ConditionalValidator(
                    new DelegateValidatorCondition <EmployeeVM, IViewModel <ProjectVMDescriptor> >(condition1, 0),
                    expectedValidator
                    );
            }

            expectedValidator = new ConditionalValidator(
                new ValidationStepCondition(step),
                new ConditionalValidator(
                    new ValidationTargetCondition(targetPath),
                    expectedValidator
                    )
                );

            ValidatorExecutorBehavior expectedBehavior = new ValidatorExecutorBehavior();

            expectedBehavior.AddValidator(expectedValidator);

            Assert.AreEqual(
                expectedBehavior.ToString(),
                descriptor
                .Behaviors
                .GetNextBehavior <ValidatorExecutorBehavior>()
                .ToString()
                );
        }
 private ViewModelWithValidatorExecutor(ValidatorExecutorBehavior behavior)
     : base(DescriptorStub.WithBehaviors(behavior).Build())
 {
     Behavior = behavior;
 }