public void AttributeWithInvalidPropertyNameThrowsWhenCreatingValidator() { MemberValueAccessBuilder builder = new ReflectionMemberValueAccessBuilder(); IValidatorDescriptor validatorAttribute = new PropertyComparisonValidatorAttribute("InvalidProperty", ComparisonOperator.Equal); validatorAttribute.CreateValidator(typeof(PropertyComparisonValidatorAttributeFixtureTestClass), typeof(PropertyComparisonValidatorAttributeFixtureTestClass), builder); }
public void AttributeWithNonNullRulesetReturnsValid() { ValidationAttribute attribute = new PropertyComparisonValidatorAttribute("proeprty", ComparisonOperator.NotEqual) { Ruleset = "ruleset" }; Assert.IsTrue(attribute.IsValid("")); }
public void AttributeWithNullRulesetCannotBeUsedAsValidationAttribute() { ValidationAttribute attribute = new PropertyComparisonValidatorAttribute("proeprty", ComparisonOperator.NotEqual); try { attribute.IsValid(""); Assert.Fail("should have thrown"); } catch (NotSupportedException) { } }
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); }