public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            DateTime lowerBound = new DateTime(2006, 1, 1);
            DateTime upperBound = new DateTime(2006, 1, 10);

            MockValidationSettings rwSettings = new MockValidationSettings();
            DateTimeRangeValidatorData rwValidatorData = new DateTimeRangeValidatorData("validator1");
            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.LowerBound = lowerBound;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound = upperBound;
            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(DateTimeRangeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(lowerBound, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(upperBound, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
            }
        }
Example #2
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            DateTime lowerBound = new DateTime(2006, 1, 1);
            DateTime upperBound = new DateTime(2006, 1, 10);

            MockValidationSettings     rwSettings      = new MockValidationSettings();
            DateTimeRangeValidatorData rwValidatorData = new DateTimeRangeValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.LowerBound     = lowerBound;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = upperBound;
            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(DateTimeRangeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(lowerBound, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(upperBound, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
            }
        }
Example #3
0
        public void NodeCreatesValidatorDataWithValues()
        {
            DateTime lowerBound = new DateTime(2006, 1, 1);
            DateTime upperBound = new DateTime(2006, 1, 10);

            DateRangeValidatorNode node = new DateRangeValidatorNode();

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

            DateTimeRangeValidatorData validatorData = node.CreateValidatorData() as DateTimeRangeValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual("validator", validatorData.Name);
            Assert.AreEqual(true, validatorData.Negated);
            Assert.AreEqual(lowerBound, validatorData.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, validatorData.LowerBoundType);
            Assert.AreEqual(upperBound, validatorData.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, validatorData.UpperBoundType);
            Assert.AreEqual("message template", validatorData.MessageTemplate);
        }
Example #4
0
        /// <summary>
        /// Returns the runtime configuration data that is represented by this node.
        /// </summary>
        /// <returns>An instance of <see cref="DateTimeRangeValidatorData"/> that can be persisted to a configuration file.</returns>
        public override ValidatorData CreateValidatorData()
        {
            DateTimeRangeValidatorData validatorData = new DateTimeRangeValidatorData(Name);

            SetRangeValidatorBaseProperties(validatorData);
            SetValueValidatorBaseProperties(validatorData);

            return(validatorData);
        }
Example #5
0
        public void CreatedNodeHasAppropriateDefaultValues()
        {
            DateRangeValidatorNode node = new DateRangeValidatorNode();

            DateTimeRangeValidatorData validatorData = node.CreateValidatorData() as DateTimeRangeValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual(Resources.DateRangeValidatorNodeName, validatorData.Name);
            Assert.AreEqual(false, validatorData.Negated);
            Assert.AreEqual(DateTime.MinValue, validatorData.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, validatorData.LowerBoundType);
            Assert.AreEqual(DateTime.MinValue, validatorData.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, validatorData.UpperBoundType);

            Assert.AreEqual(Resources.DateRangeValidatorNodeName, node.Name);
            Assert.AreEqual(false, node.Negated);
            Assert.AreEqual(DateTime.MinValue, node.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, node.LowerBoundType);
            Assert.AreEqual(DateTime.MinValue, node.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, node.UpperBoundType);
        }
Example #6
0
        public void CanCreateValidatorFromConfigurationObject()
        {
            DateTime lowerBound = new DateTime(2006, 1, 1);
            DateTime upperBound = new DateTime(2006, 1, 10);

            DateTimeRangeValidatorData rwValidatorData = new DateTimeRangeValidatorData("validator1");

            rwValidatorData.LowerBound     = lowerBound;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = upperBound;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(DateTimeRangeValidator), validator.GetType());
            Assert.AreEqual(lowerBound, ((DateTimeRangeValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((DateTimeRangeValidator)validator).LowerBoundType);
            Assert.AreEqual(upperBound, ((DateTimeRangeValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((DateTimeRangeValidator)validator).UpperBoundType);
            Assert.AreEqual(Resources.RangeValidatorNonNegatedDefaultMessageTemplate, ((DateTimeRangeValidator)validator).MessageTemplate);
        }
Example #7
0
        public void CreatedNodeWithValidatorDataHasAppropriateValuesFromData()
        {
            DateTime lowerBound = new DateTime(2006, 1, 1);
            DateTime upperBound = new DateTime(2006, 1, 10);

            DateTimeRangeValidatorData validatorData = new DateTimeRangeValidatorData("name");

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

            DateRangeValidatorNode node = new DateRangeValidatorNode(validatorData);

            Assert.AreEqual("name", node.Name);
            Assert.AreEqual(true, node.Negated);
            Assert.AreEqual(lowerBound, node.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, node.LowerBoundType);
            Assert.AreEqual(upperBound, node.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, node.UpperBoundType);
            Assert.AreEqual("message template", node.MessageTemplate);
        }
        public void CanCreateValidatorFromConfigurationObject()
        {
            DateTime lowerBound = new DateTime(2006, 1, 1);
            DateTime upperBound = new DateTime(2006, 1, 10);

            DateTimeRangeValidatorData rwValidatorData = new DateTimeRangeValidatorData("validator1");
            rwValidatorData.LowerBound = lowerBound;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound = upperBound;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(DateTimeRangeValidator), validator.GetType());
            Assert.AreEqual(lowerBound, ((DateTimeRangeValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((DateTimeRangeValidator)validator).LowerBoundType);
            Assert.AreEqual(upperBound, ((DateTimeRangeValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, ((DateTimeRangeValidator)validator).UpperBoundType);
            Assert.AreEqual(Resources.RangeValidatorNonNegatedDefaultMessageTemplate, ((DateTimeRangeValidator)validator).MessageTemplate);
        }
Example #9
0
 /// <summary>
 /// Creates an instance of <see cref="DateRangeValidatorNode"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 public DateRangeValidatorNode(DateTimeRangeValidatorData validatorData)
     : base(validatorData)
 {
 }