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

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated        = true;
            rwValidatorData.Culture        = CultureInfo.GetCultureInfo("nl-NL");
            rwValidatorData.LowerBound     = "12";
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = "24";
            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(RangeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((RangeValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual("12", ((RangeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((RangeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual("24", ((RangeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((RangeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(CultureInfo.GetCultureInfo("nl-NL"), rwValidatorData.Culture);
            }
        }
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings = new MockValidationSettings();
            RangeValidatorData rwValidatorData = new RangeValidatorData("validator1");
            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated = true;
            rwValidatorData.Culture = CultureInfo.GetCultureInfo("nl-NL");
            rwValidatorData.LowerBound = "12";
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound = "24";
            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(RangeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((RangeValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual("12", ((RangeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((RangeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual("24", ((RangeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((RangeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(CultureInfo.GetCultureInfo("nl-NL"), rwValidatorData.Culture);
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Creates an instance of <see cref="RangeValidatorNodeBase{T}"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 protected RangeValidatorNodeBase(RangeValidatorData <T> validatorData)
     : base(validatorData)
 {
     lowerBound     = validatorData.LowerBound;
     lowerBoundType = validatorData.LowerBoundType;
     upperBound     = validatorData.UpperBound;
     upperBoundType = validatorData.UpperBoundType;
 }
Exemplo n.º 4
0
        /// <summary>
        /// Returns the runtime configuration data that is represented by this node.
        /// </summary>
        /// <returns>An instance of  <see cref="RangeValidatorData"/> that can be persisted to a configuration file.</returns>
        public override ValidatorData CreateValidatorData()
        {
            RangeValidatorData validatorData = new RangeValidatorData(Name);

            SetRangeValidatorBaseProperties(validatorData);
            SetValueValidatorBaseProperties(validatorData);

            return(validatorData);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Copies properties declared on this node to a runtime configuration data.
        /// </summary>
        /// <param name="rangeValidatorData">The runtime configuration data which should be updated with settings in this node.</param>
        protected void SetRangeValidatorBaseProperties(RangeValidatorData <T> rangeValidatorData)
        {
            base.SetValidatorBaseProperties(rangeValidatorData);

            rangeValidatorData.LowerBound     = lowerBound;
            rangeValidatorData.LowerBoundType = lowerBoundType;
            rangeValidatorData.UpperBound     = upperBound;
            rangeValidatorData.UpperBoundType = upperBoundType;
        }
        public void CanDeserializeSerializedInstanceWithNameOnly()
        {
            MockValidationSettings rwSettings = new MockValidationSettings();
            RangeValidatorData rwValidatorData = new RangeValidatorData("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(RangeValidator), roSettings.Validators.Get(0).Type);
            }
        }
        public void CanCreateValidatorFromConfigurationObject()
        {
            RangeValidatorData rwValidatorData = new RangeValidatorData("validator1");

            rwValidatorData.Negated        = true;
            rwValidatorData.LowerBound     = "12";
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = "24";
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(RangeValidator), validator.GetType());
            Assert.AreEqual(Resources.RangeValidatorNegatedDefaultMessageTemplate, validator.MessageTemplate);
            Assert.AreEqual(true, ((RangeValidator)validator).Negated);
            Assert.AreEqual(12, ((RangeValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((RangeValidator)validator).LowerBoundType);
            Assert.AreEqual(24, ((RangeValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((RangeValidator)validator).UpperBoundType);
        }
Exemplo n.º 8
0
        public void CreatedNodeHasAppropriateDefaultValues()
        {
            RangeValidatorNode node = new RangeValidatorNode();

            RangeValidatorData validatorData = node.CreateValidatorData() as RangeValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual(Resources.RangeValidatorNodeName, validatorData.Name);
            Assert.AreEqual(false, validatorData.Negated);
            Assert.AreEqual(string.Empty, validatorData.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, validatorData.LowerBoundType);
            Assert.AreEqual(string.Empty, validatorData.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, validatorData.UpperBoundType);

            Assert.AreEqual(Resources.RangeValidatorNodeName, node.Name);
            Assert.AreEqual(false, node.Negated);
            Assert.AreEqual(string.Empty, node.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, node.LowerBoundType);
            Assert.AreEqual(string.Empty, node.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, node.UpperBoundType);
        }
        public void CanCreateValidatorFromConfigurationObjectWithMessageTemplateOverride()
        {
            RangeValidatorData rwValidatorData = new RangeValidatorData("validator1");

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

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(RangeValidator), validator.GetType());
            Assert.AreEqual("message template override", validator.MessageTemplate);
            Assert.AreEqual(true, ((RangeValidator)validator).Negated);
            Assert.AreEqual("12", ((RangeValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((RangeValidator)validator).LowerBoundType);
            Assert.AreEqual("24", ((RangeValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((RangeValidator)validator).UpperBoundType);
        }
Exemplo n.º 10
0
        public void CreatedNodeWithValidatorDataHasAppropriateValuesFromData()
        {
            RangeValidatorData validatorData = new RangeValidatorData("name");

            validatorData.Negated         = true;
            validatorData.LowerBound      = "2";
            validatorData.LowerBoundType  = RangeBoundaryType.Exclusive;
            validatorData.UpperBound      = "3";
            validatorData.UpperBoundType  = RangeBoundaryType.Ignore;
            validatorData.MessageTemplate = "message template";


            RangeValidatorNode node = new RangeValidatorNode(validatorData);

            Assert.AreEqual("name", node.Name);
            Assert.AreEqual(true, node.Negated);
            Assert.AreEqual("2", node.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, node.LowerBoundType);
            Assert.AreEqual("3", node.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, node.UpperBoundType);
            Assert.AreEqual("message template", node.MessageTemplate);
        }
        public void CanDeserializeSerializedInstanceWithNameOnly()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            RangeValidatorData     rwValidatorData = new RangeValidatorData("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(RangeValidator), roSettings.Validators.Get(0).Type);
            }
        }
Exemplo n.º 12
0
        public void NodeCreatesValidatorDataWithValues()
        {
            RangeValidatorNode node = new RangeValidatorNode();

            node.Name            = "validator";
            node.Negated         = true;
            node.LowerBound      = "2";
            node.LowerBoundType  = RangeBoundaryType.Exclusive;
            node.UpperBound      = "3";
            node.UpperBoundType  = RangeBoundaryType.Ignore;
            node.MessageTemplate = "message template";

            RangeValidatorData validatorData = node.CreateValidatorData() as RangeValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual("validator", validatorData.Name);
            Assert.AreEqual(true, validatorData.Negated);
            Assert.AreEqual("2", validatorData.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, validatorData.LowerBoundType);
            Assert.AreEqual("3", validatorData.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, validatorData.UpperBoundType);
            Assert.AreEqual("message template", validatorData.MessageTemplate);
        }
        public void CanCreateValidatorFromConfigurationObjectWithMessageTemplateOverride()
        {
            RangeValidatorData rwValidatorData = new RangeValidatorData("validator1");
            rwValidatorData.MessageTemplate = "message template override";
            rwValidatorData.Negated = true;
            rwValidatorData.LowerBound = "12";
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound = "24";
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

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

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

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(RangeValidator), validator.GetType());
            Assert.AreEqual(Resources.RangeValidatorNegatedDefaultMessageTemplate, validator.MessageTemplate);
            Assert.AreEqual(true, ((RangeValidator)validator).Negated);
            Assert.AreEqual(12, ((RangeValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((RangeValidator)validator).LowerBoundType);
            Assert.AreEqual(24, ((RangeValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((RangeValidator)validator).UpperBoundType);
        }
Exemplo n.º 15
0
 /// <summary>
 /// Creates an instance of <see cref="RangeValidatorNode"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 public RangeValidatorNode(RangeValidatorData validatorData)
     : base(validatorData)
 {
 }