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;
 }
Example #4
0
 /// <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;
 }
Example #5
0
        /// <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;
        }