public AddingComponentRuleBuilder(
            IAddingComponentPropertyRule addingComponentPropertyPropertyRule,
            IAddingComponentPropertyMetaValidationRule addingMetaValidationPropertyRule)
        {
            ArgumentUtility.CheckNotNull("addingComponentPropertyPropertyRule", addingComponentPropertyPropertyRule);
            ArgumentUtility.CheckNotNull("addingMetaValidationPropertyRule", addingMetaValidationPropertyRule);

            _addingComponentPropertyRule      = addingComponentPropertyPropertyRule;
            _addingMetaValidationPropertyRule = addingMetaValidationPropertyRule;
        }
        public void SetUp()
        {
            _addedPropertyRuleStub1 = MockRepository.GenerateStub <IAddingComponentPropertyRule>();
            _addedPropertyRuleStub2 = MockRepository.GenerateStub <IAddingComponentPropertyRule> ();

            _propertyValidatorStub1 = MockRepository.GenerateStub <IPropertyValidator>();
            _propertyValidatorStub2 = MockRepository.GenerateStub <IPropertyValidator> ();
            _propertyValidatorStub3 = MockRepository.GenerateStub <IPropertyValidator> ();

            _logContext = new DefaultLogContext();
        }
Пример #3
0
        //TODO RM-5906: add integration test for redefined (new) property in derived class for that a validator should be removed
        private IEnumerable <ValidatorRegistrationWithContext> GetRemovingPropertyRegistrations(
            IPropertyValidator validator, IAddingComponentPropertyRule addingComponentPropertyRule)
        {
            return
                (_validatorTypesToRemove[validator.GetType()].Where(
                     rwc =>
                     rwc.RemovingComponentPropertyRule.Property.Name == addingComponentPropertyRule.Property.Name
// ReSharper disable PossibleNullReferenceException
                     && addingComponentPropertyRule.Property.DeclaringType.IsAssignableFrom(rwc.RemovingComponentPropertyRule.Property.DeclaringType)
// ReSharper restore PossibleNullReferenceException
                     && (rwc.ValidatorRegistration.CollectorTypeToRemoveFrom == null ||
                         rwc.ValidatorRegistration.CollectorTypeToRemoveFrom == addingComponentPropertyRule.CollectorType)));
        }
        public void SetUp()
        {
            _addingComponentPropertyRuleMock = MockRepository.GenerateStrictMock <IAddingComponentPropertyRule>();
            _addingComponentPropertyRuleMock.Stub(stub => stub.Property).Return(PropertyInfoAdapter.Create(typeof(Customer).GetProperty("UserName")));

            _addingComponentPropertyMetaValidationRuleMock = MockRepository.GenerateStrictMock <IAddingComponentPropertyMetaValidationRule>();
            _addingComponentPropertyRuleMock.Stub(stub => stub.Property).Return(PropertyInfoAdapter.Create(typeof(Customer).GetProperty("UserName")));

            _addingComponentBuilder = new AddingComponentRuleBuilder <Customer, string> (
                _addingComponentPropertyRuleMock,
                _addingComponentPropertyMetaValidationRuleMock);

            _propertyValidatorStub = MockRepository.GenerateStub <IPropertyValidator>();
        }
Пример #5
0
        public IEnumerable <IPropertyValidator> ExtractPropertyValidatorsToRemove(IAddingComponentPropertyRule addingComponentPropertyRule)
        {
            ArgumentUtility.CheckNotNull("addingComponentPropertyRule", addingComponentPropertyRule);

            foreach (var existingValidator in addingComponentPropertyRule.Validators)
            {
                var removingValidatorRegistrationsWithContext = GetRemovingPropertyRegistrations(existingValidator, addingComponentPropertyRule).ToArray();
                if (removingValidatorRegistrationsWithContext.Any())
                {
                    _logContext.ValidatorRemoved(existingValidator, removingValidatorRegistrationsWithContext, addingComponentPropertyRule);
                    yield return(existingValidator);
                }
            }
        }