public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings    rwSettings      = new MockValidationSettings();
            StringLengthValidatorData rwValidatorData = new StringLengthValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.LowerBound     = 10;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = 20;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

            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(StringLengthValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(10, ((StringLengthValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((StringLengthValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(20, ((StringLengthValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((StringLengthValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(false, ((StringLengthValidatorData)roSettings.Validators.Get(0)).Negated);
            }
        }
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings = new MockValidationSettings();
            StringLengthValidatorData rwValidatorData = new StringLengthValidatorData("validator1");
            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.LowerBound = 10;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound = 20;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

            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(StringLengthValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(10, ((StringLengthValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((StringLengthValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(20, ((StringLengthValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((StringLengthValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(false, ((StringLengthValidatorData)roSettings.Validators.Get(0)).Negated);
            }
        }
 /// <summary>
 /// Creates an instance of <see cref="StringLengthValidatorNode"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 public StringLengthValidatorNode(StringLengthValidatorData validatorData)
     : base(validatorData)
 {
     lowerBound = validatorData.LowerBound;
     lowerBoundType = validatorData.LowerBoundType;
     upperBound = validatorData.UpperBound;
     upperBoundType = validatorData.UpperBoundType;
 }
Example #4
0
 /// <summary>
 /// Creates an instance of <see cref="StringLengthValidatorNode"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 public StringLengthValidatorNode(StringLengthValidatorData validatorData)
     : base(validatorData)
 {
     lowerBound     = validatorData.LowerBound;
     lowerBoundType = validatorData.LowerBoundType;
     upperBound     = validatorData.UpperBound;
     upperBoundType = validatorData.UpperBoundType;
 }
Example #5
0
        /// <summary>
        /// Returns the runtime configuration data that is represented by this node.
        /// </summary>
        /// <returns>An instance of <see cref="StringLengthValidatorData"/> that can be persisted to a configuration file.</returns>
        public override ValidatorData CreateValidatorData()
        {
            StringLengthValidatorData validatorData = new StringLengthValidatorData(Name);

            SetValidatorBaseProperties(validatorData);

            validatorData.LowerBound     = lowerBound;
            validatorData.LowerBoundType = lowerBoundType;
            validatorData.UpperBound     = upperBound;
            validatorData.UpperBoundType = upperBoundType;
            validatorData.Negated        = Negated;

            return(validatorData);
        }
Example #6
0
        public void CreatedNodeWithValidatorDataHasAppropriateValuesFromData()
        {
            StringLengthValidatorData validatorData = new StringLengthValidatorData("name");

            validatorData.Negated        = true;
            validatorData.LowerBound     = 10;
            validatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            validatorData.UpperBound     = 20;
            validatorData.UpperBoundType = RangeBoundaryType.Inclusive;

            StringLengthValidatorNode node = new StringLengthValidatorNode(validatorData);

            Assert.AreEqual("name", node.Name);
            Assert.AreEqual(true, node.Negated);
            Assert.AreEqual(10, node.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, node.LowerBoundType);
            Assert.AreEqual(20, node.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, node.UpperBoundType);
        }
        public void CanCreateValidatorFromConfigurationObject()
        {
            StringLengthValidatorData rwValidatorData = new StringLengthValidatorData("validator1");

            rwValidatorData.LowerBound     = 10;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = 20;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

            Validator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(StringLengthValidator), validator.GetType());
            Assert.AreEqual(10, ((StringLengthValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((StringLengthValidator)validator).LowerBoundType);
            Assert.AreEqual(20, ((StringLengthValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((StringLengthValidator)validator).UpperBoundType);
            Assert.AreEqual(Resources.StringLengthValidatorNonNegatedDefaultMessageTemplate, ((StringLengthValidator)validator).MessageTemplate);
            Assert.AreEqual(false, ((StringLengthValidator)validator).Negated);
        }
Example #8
0
        public void NodeCreatesValidatorDataWithValues()
        {
            StringLengthValidatorNode node = new StringLengthValidatorNode();

            node.Name           = "validator";
            node.Negated        = true;
            node.LowerBound     = 10;
            node.LowerBoundType = RangeBoundaryType.Exclusive;
            node.UpperBound     = 20;
            node.UpperBoundType = RangeBoundaryType.Inclusive;

            StringLengthValidatorData validatorData = node.CreateValidatorData() as StringLengthValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual("validator", validatorData.Name);
            Assert.AreEqual(true, validatorData.Negated);
            Assert.AreEqual(10, validatorData.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, validatorData.LowerBoundType);
            Assert.AreEqual(20, validatorData.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, validatorData.UpperBoundType);
        }
        public void CanCreateNegatedValidatorFromConfigurationObjectWithMessageTemplateOverride()
        {
            StringLengthValidatorData rwValidatorData = new StringLengthValidatorData("validator1");

            rwValidatorData.LowerBound      = 10;
            rwValidatorData.LowerBoundType  = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound      = 20;
            rwValidatorData.UpperBoundType  = RangeBoundaryType.Inclusive;
            rwValidatorData.MessageTemplate = "message template override";
            rwValidatorData.Negated         = true;

            Validator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(StringLengthValidator), validator.GetType());
            Assert.AreEqual(10, ((StringLengthValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((StringLengthValidator)validator).LowerBoundType);
            Assert.AreEqual(20, ((StringLengthValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((StringLengthValidator)validator).UpperBoundType);
            Assert.AreEqual("message template override", ((StringLengthValidator)validator).MessageTemplate);
            Assert.AreEqual(true, ((StringLengthValidator)validator).Negated);
        }
        public void CanCreateValidatorFromConfigurationObject()
        {
            StringLengthValidatorData rwValidatorData = new StringLengthValidatorData("validator1");
            rwValidatorData.LowerBound = 10;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound = 20;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

            Validator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(StringLengthValidator), validator.GetType());
            Assert.AreEqual(10, ((StringLengthValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((StringLengthValidator)validator).LowerBoundType);
            Assert.AreEqual(20, ((StringLengthValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((StringLengthValidator)validator).UpperBoundType);
            Assert.AreEqual(Resources.StringLengthValidatorNonNegatedDefaultMessageTemplate, ((StringLengthValidator)validator).MessageTemplate);
            Assert.AreEqual(false, ((StringLengthValidator)validator).Negated);
        }
        public void CanCreateNegatedValidatorFromConfigurationObjectWithMessageTemplateOverride()
        {
            StringLengthValidatorData rwValidatorData = new StringLengthValidatorData("validator1");
            rwValidatorData.LowerBound = 10;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound = 20;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;
            rwValidatorData.MessageTemplate = "message template override";
            rwValidatorData.Negated = true;

            Validator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(StringLengthValidator), validator.GetType());
            Assert.AreEqual(10, ((StringLengthValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((StringLengthValidator)validator).LowerBoundType);
            Assert.AreEqual(20, ((StringLengthValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((StringLengthValidator)validator).UpperBoundType);
            Assert.AreEqual("message template override", ((StringLengthValidator)validator).MessageTemplate);
            Assert.AreEqual(true, ((StringLengthValidator)validator).Negated);
        }
        /// <summary>
        /// Returns the runtime configuration data that is represented by this node.
        /// </summary>
        /// <returns>An instance of <see cref="StringLengthValidatorData"/> that can be persisted to a configuration file.</returns>
        public override ValidatorData CreateValidatorData()
        {
            StringLengthValidatorData validatorData = new StringLengthValidatorData(Name);
            SetValidatorBaseProperties(validatorData);

            validatorData.LowerBound = lowerBound;
            validatorData.LowerBoundType = lowerBoundType;
            validatorData.UpperBound = upperBound;
            validatorData.UpperBoundType = upperBoundType;
            validatorData.Negated = Negated;

            return validatorData;
        }