示例#1
0
        private RemovingComponentPropertyRule GetRemovingComponentPropertyRule(
            IAttributesBasedValidationPropertyRuleReflector propertyRuleReflector,
            PropertyInfo propertyInfo,
            Type collectorType)
        {
            var propertyRule = new RemovingComponentPropertyRule(propertyInfo, collectorType);

            foreach (var validatorRegistration in propertyRuleReflector.GetRemovingPropertyRegistrations())
            {
                propertyRule.RegisterValidator(validatorRegistration.ValidatorType, validatorRegistration.CollectorTypeToRemoveFrom);
            }

            return(propertyRule);
        }
示例#2
0
        private AddingComponentPropertyMetaValidationRule GetAddingComponentPropertyMetaValidationRule(
            IAttributesBasedValidationPropertyRuleReflector propertyRuleReflector,
            PropertyInfo propertyInfo,
            Type collectorType)
        {
            var propertyRule = new AddingComponentPropertyMetaValidationRule(propertyInfo, collectorType);

            foreach (var metaValidationRule in propertyRuleReflector.GetMetaValidationRules())
            {
                propertyRule.RegisterMetaValidationRule(metaValidationRule);
            }

            return(propertyRule);
        }
示例#3
0
        private AddingComponentPropertyRule GetAddingPropertyRule(
            IAttributesBasedValidationPropertyRuleReflector propertyRuleReflector,
            Type validatedType,
            PropertyInfo propertyInfo,
            Func <object, object> propertyFunc,
            Type collectorType)
        {
            var propertyRule = new AddingComponentPropertyRule(validatedType, propertyInfo, propertyFunc, collectorType);

            foreach (var validator in propertyRuleReflector.GetAddingPropertyValidators())
            {
                propertyRule.RegisterValidator(validator);
            }

            return(propertyRule);
        }
示例#4
0
        SetValidationRulesForProperty(
            IAttributesBasedValidationPropertyRuleReflector propertyRuleReflector, Type validatedType)
        {
            var propertyAccessExpression = propertyRuleReflector.GetPropertyAccessExpression(validatedType);
            var propertyInfo             = propertyRuleReflector.ValidatedProperty;
            var propertyFunc             = propertyAccessExpression.Compile();
            var collectorType            = typeof(AttributeBasedComponentValidationCollector);

            var addingPropertyRule = GetAddingPropertyRule(propertyRuleReflector, validatedType, propertyInfo, propertyFunc, collectorType);
            var addingHardConstraintPropertyRule = GetAddingHardConstraintPropertyRule(
                propertyRuleReflector, validatedType, propertyInfo, propertyFunc, collectorType);
            var addingMetaValidationPropertyRule = GetAddingComponentPropertyMetaValidationRule(propertyRuleReflector, propertyInfo, collectorType);
            var removingPropertyRule             = GetRemovingComponentPropertyRule(propertyRuleReflector, propertyInfo, collectorType);

            return(Tuple.Create(
                       addingPropertyRule,
                       addingHardConstraintPropertyRule,
                       addingMetaValidationPropertyRule,
                       removingPropertyRule));
        }
        public void SetUp()
        {
            _propertyValidatorStub1 = MockRepository.GenerateStub <IPropertyValidator>();
            _propertyValidatorStub2 = MockRepository.GenerateStub <IPropertyValidator>();
            _propertyValidatorStub3 = MockRepository.GenerateStub <IPropertyValidator>();
            _propertyValidatorStub4 = MockRepository.GenerateStub <IPropertyValidator>();
            _propertyValidatorStub5 = MockRepository.GenerateStub <IPropertyValidator>();
            _propertyValidatorStub6 = MockRepository.GenerateStub <IPropertyValidator>();

            _metaValidationRule1 = new MaxLengthMetaValidationRule();
            _metaValidationRule2 = new MaxValidatorCountRule();
            _metaValidationRule3 = new MaxLengthMetaValidationRule();

            _validatorRegistration1 = new ValidatorRegistration(typeof(NotNullValidator), null);
            _validatorRegistration2 = new ValidatorRegistration(typeof(NotEmptyValidator), null);
            _validatorRegistration3 = new ValidatorRegistration(typeof(NotNullValidator), null);
            _validatorRegistration4 = new ValidatorRegistration(typeof(NotEmptyValidator), null);

            _validationPropertyRuleReflectorMock1 = MockRepository.GenerateStrictMock <IAttributesBasedValidationPropertyRuleReflector>();
            _validationPropertyRuleReflectorMock2 = MockRepository.GenerateStrictMock <IAttributesBasedValidationPropertyRuleReflector> ();
        }