Exemple #1
0
        public PropertyComparisonValidatorOperation(string keyToValidate, string targetKey, string resultKey, string comparisonOperator, bool negated)
            : base(keyToValidate, resultKey)
        {
            ValidateRow = true;

            var valueAccess = new RowValueAccess(targetKey);
            var comparison  = (ComparisonOperator)Enum.Parse(typeof(ComparisonOperator), comparisonOperator, true);

            Validator = new PropertyComparisonValidator(valueAccess, comparison, negated)
            {
                MessageTemplate = string.Empty, Tag = keyToValidate
            };
        }
Exemple #2
0
        public void CreateValidatorWithInvalidPropertyThrows()
        {
            PropertyComparisonValidatorData rwValidatorData = new PropertyComparisonValidatorData("validator1");

            rwValidatorData.PropertyToCompare = "Property";

            PropertyComparisonValidator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(typeof(string),
                                                                                                            typeof(PropertyComparisonValidatorDataFixtureTestClass),
                                                                                                            new ReflectionMemberValueAccessBuilder()) as PropertyComparisonValidator;

            Assert.IsNotNull(validator);
            Assert.AreEqual("PublicProperty", ((PropertyValueAccess)validator.ValueAccess).PropertyInfo.Name);
            Assert.AreEqual(ComparisonOperator.NotEqual, validator.ComparisonOperator);
            Assert.AreEqual(true, validator.Negated);
        }
Exemple #3
0
        public void CreatesAppropriateValidator()
        {
            MemberValueAccessBuilder             builder            = new ReflectionMemberValueAccessBuilder();
            PropertyComparisonValidatorAttribute validatorAttribute = new PropertyComparisonValidatorAttribute("PublicProperty", ComparisonOperator.NotEqual);

            validatorAttribute.Negated = true;

            PropertyComparisonValidator validator = ((IValidatorDescriptor)validatorAttribute).CreateValidator(typeof(PropertyComparisonValidatorAttributeFixtureTestClass),
                                                                                                               typeof(PropertyComparisonValidatorAttributeFixtureTestClass),
                                                                                                               builder) as PropertyComparisonValidator;

            Assert.IsNotNull(validator);
            Assert.AreEqual("PublicProperty", ((PropertyValueAccess)validator.ValueAccess).PropertyInfo.Name);
            Assert.AreEqual(ComparisonOperator.NotEqual, validator.ComparisonOperator);
            Assert.AreEqual(true, validator.Negated);
        }