public void CanDeserializeSerializedInstanceWithValuesSet() { MockValidationSettings rwSettings = new MockValidationSettings(); PropertyComparisonValidatorData rwValidatorData = new PropertyComparisonValidatorData("validator1"); rwSettings.Validators.Add(rwValidatorData); rwValidatorData.ComparisonOperator = ComparisonOperator.GreaterThanEqual; rwValidatorData.PropertyToCompare = "property"; rwValidatorData.Negated = true; IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>(); sections[ValidationSettings.SectionName] = rwSettings; using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections)) { IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource; MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings; Assert.IsNotNull(roSettings); Assert.AreEqual(1, roSettings.Validators.Count); Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name); Assert.AreSame(typeof(PropertyComparisonValidator), roSettings.Validators.Get(0).Type); Assert.AreEqual(ComparisonOperator.GreaterThanEqual, ((PropertyComparisonValidatorData)roSettings.Validators.Get(0)).ComparisonOperator); Assert.AreEqual("property", ((PropertyComparisonValidatorData)roSettings.Validators.Get(0)).PropertyToCompare); Assert.AreEqual(true, ((PropertyComparisonValidatorData)roSettings.Validators.Get(0)).Negated); } }
public void CreateValidatorWithNoPropertyThrows() { PropertyComparisonValidatorData rwValidatorData = new PropertyComparisonValidatorData("validator1"); ((IValidatorDescriptor)rwValidatorData).CreateValidator(typeof(string), typeof(PropertyComparisonValidatorDataFixtureTestClass), new ReflectionMemberValueAccessBuilder()); }
/// <summary> /// Creates the <see cref="PropertyComparisonValidatorData"/> represented by the node. /// </summary> /// <returns>A <see cref="PropertyComparisonValidatorData"/> instance.</returns> public override ValidatorData CreateValidatorData() { PropertyComparisonValidatorData validatorData = new PropertyComparisonValidatorData(this.Name); SetValidatorBaseProperties(validatorData); validatorData.Negated = this.Negated; validatorData.ComparisonOperator = this.comparisonOperator; validatorData.PropertyToCompare = this.propertyToCompare; return(validatorData); }
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); }
public void CreatedNodeWithValidatorDataHasAppropriateValuesFromData() { PropertyComparisonValidatorData validatorData = new PropertyComparisonValidatorData("name"); validatorData.Negated = true; validatorData.ComparisonOperator = ComparisonOperator.GreaterThanEqual; validatorData.PropertyToCompare = "property"; PropertyComparisonValidatorNode node = new PropertyComparisonValidatorNode(validatorData); Assert.AreEqual("name", node.Name); Assert.AreEqual(ComparisonOperator.GreaterThanEqual, node.ComparisonOperator); Assert.AreEqual("property", node.PropertyToCompare); Assert.AreEqual(true, node.Negated); }
public void NodeCreatesValidatorDataWithValues() { PropertyComparisonValidatorNode node = new PropertyComparisonValidatorNode(); node.Name = "validator"; node.Negated = true; node.ComparisonOperator = ComparisonOperator.GreaterThanEqual; node.PropertyToCompare = "property"; PropertyComparisonValidatorData validatorData = node.CreateValidatorData() as PropertyComparisonValidatorData; Assert.IsNotNull(validatorData); Assert.AreEqual("validator", validatorData.Name); Assert.AreEqual(true, validatorData.Negated); Assert.AreEqual(ComparisonOperator.GreaterThanEqual, validatorData.ComparisonOperator); Assert.AreEqual("property", validatorData.PropertyToCompare); }
/// <summary> /// Initializes a new instance of the <see cref="PropertyComparisonValidatorNode"/> class representing <paramref name="validatorData"/>. /// </summary> /// <param name="validatorData">The represented <see cref="PropertyComparisonValidatorData"/>.</param> public PropertyComparisonValidatorNode(PropertyComparisonValidatorData validatorData) : base(validatorData) { this.comparisonOperator = validatorData.ComparisonOperator; this.propertyToCompare = validatorData.PropertyToCompare; }