public void CanDeserializeSerializedInstanceWithValuesSet() { MockValidationSettings rwSettings = new MockValidationSettings(); RegexValidatorData rwValidatorData = new RegexValidatorData("validator1"); rwSettings.Validators.Add(rwValidatorData); rwValidatorData.Pattern = "pattern"; rwValidatorData.PatternResourceName = RegexResourceName1; rwValidatorData.PatternResourceType = typeof(Resources); rwValidatorData.Negated = true; rwValidatorData.Options = RegexOptions.Multiline | RegexOptions.IgnoreCase; 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(RegexValidator), roSettings.Validators.Get(0).Type); Assert.AreEqual("pattern", ((RegexValidatorData)roSettings.Validators.Get(0)).Pattern); Assert.AreEqual(RegexResourceName1, ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceName); Assert.AreEqual(typeof(Resources), ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceType); Assert.AreEqual(RegexOptions.Multiline | RegexOptions.IgnoreCase, ((RegexValidatorData)roSettings.Validators.Get(0)).Options); Assert.AreEqual(true, ((RegexValidatorData)roSettings.Validators.Get(0)).Negated); } }
public void CanDeserializeSerializedInstanceWithNameOnly() { MockValidationSettings rwSettings = new MockValidationSettings(); RegexValidatorData rwValidatorData = new RegexValidatorData("validator1"); rwSettings.Validators.Add(rwValidatorData); 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(RegexValidator), roSettings.Validators.Get(0).Type); Assert.AreEqual("", ((RegexValidatorData)roSettings.Validators.Get(0)).Pattern); Assert.AreEqual("", ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceName); Assert.AreEqual(null, ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceType); Assert.AreEqual(RegexOptions.None, ((RegexValidatorData)roSettings.Validators.Get(0)).Options); Assert.AreEqual(false, ((RegexValidatorData)roSettings.Validators.Get(0)).Negated); } }
/// <summary> /// Creates an instance of <see cref="RegexValidatorNode"/> based on runtime configuration data. /// </summary> /// <param name="validatorData">The corresponding runtime configuration data.</param> public RegexValidatorNode(RegexValidatorData validatorData) : base(validatorData) { if (!string.IsNullOrEmpty(validatorData.Pattern)) { pattern = validatorData.Pattern; } patternResourceName = validatorData.PatternResourceName; patternResourceTypeName = validatorData.PatternResourceTypeName; options = validatorData.Options; }
/// <summary> /// Returns the runtime configuration data that is represented by this node. /// </summary> /// <returns>An instance of <see cref="RegexValidatorData"/> that can be persisted to a configuration file.</returns> public override ValidatorData CreateValidatorData() { RegexValidatorData validatorData = new RegexValidatorData(Name); SetValidatorBaseProperties(validatorData); validatorData.Pattern = pattern; validatorData.Options = options; validatorData.PatternResourceName = patternResourceName; validatorData.PatternResourceTypeName = patternResourceTypeName; return(validatorData); }
public void CanCreateValidatorFromConfigurationObject() { RegexValidatorData rwValidatorData = new RegexValidatorData("validator1"); rwValidatorData.Pattern = "pattern"; rwValidatorData.PatternResourceName = RegexResourceName1; rwValidatorData.PatternResourceType = typeof(Resources); rwValidatorData.Options = RegexOptions.Multiline | RegexOptions.IgnoreCase; Validator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(null, null, null, null); Assert.IsNotNull(validator); Assert.AreSame(typeof(RegexValidator), validator.GetType()); Assert.AreEqual("pattern", ((RegexValidator)validator).Pattern); Assert.AreEqual(RegexResourceName1, ((RegexValidator)validator).PatternResourceName); Assert.AreEqual(typeof(Resources), ((RegexValidator)validator).PatternResourceType); Assert.AreEqual(RegexOptions.Multiline | RegexOptions.IgnoreCase, ((RegexValidator)validator).Options); Assert.AreEqual(EnterpriseLibrary.Validation.Properties.Resources.RegexValidatorNonNegatedDefaultMessageTemplate, ((RegexValidator)validator).MessageTemplate); Assert.AreEqual(false, ((RegexValidator)validator).Negated); }
public void CanCreateValidatorFromConfigurationObjectWithMessageTemplateOverride() { RegexValidatorData rwValidatorData = new RegexValidatorData("validator1"); rwValidatorData.Pattern = "pattern"; rwValidatorData.Options = RegexOptions.Multiline | RegexOptions.IgnoreCase; rwValidatorData.PatternResourceName = RegexResourceName1; rwValidatorData.PatternResourceType = typeof(Resources); rwValidatorData.MessageTemplate = "message template override"; Validator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(null, null, null, null); Assert.IsNotNull(validator); Assert.AreSame(typeof(RegexValidator), validator.GetType()); Assert.AreEqual("pattern", ((RegexValidator)validator).Pattern); Assert.AreEqual(RegexResourceName1, ((RegexValidator)validator).PatternResourceName); Assert.AreEqual(typeof(Resources), ((RegexValidator)validator).PatternResourceType); Assert.AreEqual(RegexOptions.Multiline | RegexOptions.IgnoreCase, ((RegexValidator)validator).Options); Assert.AreEqual("message template override", ((RegexValidator)validator).MessageTemplate); Assert.AreEqual(false, ((RegexValidator)validator).Negated); }
/// <summary> /// Returns the runtime configuration data that is represented by this node. /// </summary> /// <returns>An instance of <see cref="RegexValidatorData"/> that can be persisted to a configuration file.</returns> public override ValidatorData CreateValidatorData() { RegexValidatorData validatorData = new RegexValidatorData(Name); SetValidatorBaseProperties(validatorData); validatorData.Pattern = pattern; validatorData.Options = options; validatorData.PatternResourceName = patternResourceName; validatorData.PatternResourceTypeName = patternResourceTypeName; return validatorData; }