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; }