Exemple #1
0
        public void NodeCreatesValidatorDataWithValues()
        {
            RelativeDateTimeValidatorNode node = new RelativeDateTimeValidatorNode();

            node.Name           = "validator";
            node.Negated        = true;
            node.LowerBound     = 2;
            node.LowerBoundType = RangeBoundaryType.Exclusive;
            node.LowerUnit      = DateTimeUnit.Year;
            node.UpperBound     = 3;
            node.UpperBoundType = RangeBoundaryType.Ignore;
            node.UpperUnit      = DateTimeUnit.Month;

            RelativeDateTimeValidatorData validatorData = node.CreateValidatorData() as RelativeDateTimeValidatorData;

            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(DateTimeUnit.Year, validatorData.LowerUnit);
            Assert.AreEqual(3, validatorData.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, validatorData.UpperBoundType);
            Assert.AreEqual(DateTimeUnit.Month, validatorData.UpperUnit);
        }
Exemple #2
0
        public void CanCreateValidatorFromConfigurationObjectWithMessageTemplateOverride()
        {
            RelativeDateTimeValidatorData rwValidatorData = new RelativeDateTimeValidatorData("validator1");

            rwValidatorData.MessageTemplate = "message template override";
            rwValidatorData.Negated         = true;
            rwValidatorData.Negated         = true;
            rwValidatorData.Negated         = true;
            rwValidatorData.LowerBound      = 2;
            rwValidatorData.LowerBoundType  = RangeBoundaryType.Exclusive;
            rwValidatorData.LowerUnit       = DateTimeUnit.Year;
            rwValidatorData.UpperBound      = 3;
            rwValidatorData.UpperBoundType  = RangeBoundaryType.Ignore;
            rwValidatorData.UpperUnit       = DateTimeUnit.Month;

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(RelativeDateTimeValidator), validator.GetType());
            Assert.AreEqual("message template override", validator.MessageTemplate);
            Assert.AreEqual(true, ((RelativeDateTimeValidator)validator).Negated);
            Assert.AreEqual(2, ((RelativeDateTimeValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((RelativeDateTimeValidator)validator).LowerBoundType);
            Assert.AreEqual(DateTimeUnit.Year, ((RelativeDateTimeValidator)validator).LowerUnit);
            Assert.AreEqual(3, ((RelativeDateTimeValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, ((RelativeDateTimeValidator)validator).UpperBoundType);
            Assert.AreEqual(DateTimeUnit.Month, ((RelativeDateTimeValidator)validator).UpperUnit);
        }
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings = new MockValidationSettings();
            RelativeDateTimeValidatorData rwValidatorData = new RelativeDateTimeValidatorData("validator1");
            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated = true;
            rwValidatorData.LowerBound = 2;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.LowerUnit = DateTimeUnit.Year;
            rwValidatorData.UpperBound = 3;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Ignore;
            rwValidatorData.UpperUnit = DateTimeUnit.Month;

            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(RelativeDateTimeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual(2, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(DateTimeUnit.Year, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerUnit);
                Assert.AreEqual(3, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Ignore, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(DateTimeUnit.Month, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperUnit);
            }
        }
Exemple #4
0
        public void CreatedNodeHasAppropriateDefaultValues()
        {
            RelativeDateTimeValidatorNode node = new RelativeDateTimeValidatorNode();

            RelativeDateTimeValidatorData validatorData = node.CreateValidatorData() as RelativeDateTimeValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual(Resources.RelativeDateTimeValidatorNodeName, validatorData.Name);
            Assert.AreEqual(false, validatorData.Negated);
            Assert.AreEqual(0, validatorData.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, validatorData.LowerBoundType);
            Assert.AreEqual(DateTimeUnit.None, validatorData.LowerUnit);
            Assert.AreEqual(0, validatorData.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, validatorData.UpperBoundType);
            Assert.AreEqual(DateTimeUnit.None, validatorData.UpperUnit);

            Assert.AreEqual(Resources.RelativeDateTimeValidatorNodeName, node.Name);
            Assert.AreEqual(false, node.Negated);
            Assert.AreEqual(0, node.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, node.LowerBoundType);
            Assert.AreEqual(DateTimeUnit.None, node.LowerUnit);
            Assert.AreEqual(0, node.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Inclusive, node.UpperBoundType);
            Assert.AreEqual(DateTimeUnit.None, node.UpperUnit);
        }
Exemple #5
0
        /// <summary>
        /// Returns the runtime configuration data that is represented by this node.
        /// </summary>
        /// <returns>An instance of <see cref="RelativeDateTimeValidatorData"/> that can be persisted to a configuration file.</returns>
        public override ValidatorData CreateValidatorData()
        {
            RelativeDateTimeValidatorData validatorData = new RelativeDateTimeValidatorData(Name);

            SetRangeValidatorBaseProperties(validatorData);
            SetValueValidatorBaseProperties(validatorData);

            validatorData.LowerUnit = this.lowerUnit;
            validatorData.UpperUnit = this.upperUnit;

            return(validatorData);
        }
        public void CanDeserializeSerializedInstanceWithNameOnly()
        {
            MockValidationSettings rwSettings = new MockValidationSettings();
            RelativeDateTimeValidatorData rwValidatorData = new RelativeDateTimeValidatorData("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(RelativeDateTimeValidator), roSettings.Validators.Get(0).Type);
            }
        }
Exemple #7
0
        public void CanDeserializeSerializedInstanceWithNameOnly()
        {
            MockValidationSettings        rwSettings      = new MockValidationSettings();
            RelativeDateTimeValidatorData rwValidatorData = new RelativeDateTimeValidatorData("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(RelativeDateTimeValidator), roSettings.Validators.Get(0).Type);
            }
        }
Exemple #8
0
        public void CreatedNodeWithValidatorDataHasAppropriateValuesFromData()
        {
            RelativeDateTimeValidatorData validatorData = new RelativeDateTimeValidatorData("name");

            validatorData.Negated        = true;
            validatorData.LowerBound     = 2;
            validatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            validatorData.LowerUnit      = DateTimeUnit.Year;
            validatorData.UpperBound     = 3;
            validatorData.UpperBoundType = RangeBoundaryType.Ignore;
            validatorData.UpperUnit      = DateTimeUnit.Month;

            RelativeDateTimeValidatorNode node = new RelativeDateTimeValidatorNode(validatorData);

            Assert.AreEqual("name", node.Name);
            Assert.AreEqual(true, node.Negated);
            Assert.AreEqual(2, node.LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, node.LowerBoundType);
            Assert.AreEqual(DateTimeUnit.Year, node.LowerUnit);
            Assert.AreEqual(3, node.UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, node.UpperBoundType);
            Assert.AreEqual(DateTimeUnit.Month, node.UpperUnit);
        }
Exemple #9
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings        rwSettings      = new MockValidationSettings();
            RelativeDateTimeValidatorData rwValidatorData = new RelativeDateTimeValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated        = true;
            rwValidatorData.LowerBound     = 2;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.LowerUnit      = DateTimeUnit.Year;
            rwValidatorData.UpperBound     = 3;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Ignore;
            rwValidatorData.UpperUnit      = DateTimeUnit.Month;

            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(RelativeDateTimeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual(2, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(DateTimeUnit.Year, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerUnit);
                Assert.AreEqual(3, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Ignore, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(DateTimeUnit.Month, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperUnit);
            }
        }
        public void CanCreateValidatorFromConfigurationObject()
        {
            RelativeDateTimeValidatorData rwValidatorData = new RelativeDateTimeValidatorData("validator1");
            rwValidatorData.Negated = true;
            rwValidatorData.Negated = true;
            rwValidatorData.LowerBound = 2;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.LowerUnit = DateTimeUnit.Year;
            rwValidatorData.UpperBound = 3;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Ignore;
            rwValidatorData.UpperUnit = DateTimeUnit.Month;

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(RelativeDateTimeValidator), validator.GetType());
            Assert.AreEqual(Resources.RelativeDateTimeNegatedDefaultMessageTemplate, validator.MessageTemplate);
            Assert.AreEqual(true, ((RelativeDateTimeValidator)validator).Negated);
            Assert.AreEqual(2, ((RelativeDateTimeValidator)validator).LowerBound);
            Assert.AreEqual(RangeBoundaryType.Exclusive, ((RelativeDateTimeValidator)validator).LowerBoundType);
            Assert.AreEqual(DateTimeUnit.Year, ((RelativeDateTimeValidator)validator).LowerUnit);
            Assert.AreEqual(3, ((RelativeDateTimeValidator)validator).UpperBound);
            Assert.AreEqual(RangeBoundaryType.Ignore, ((RelativeDateTimeValidator)validator).UpperBoundType);
            Assert.AreEqual(DateTimeUnit.Month, ((RelativeDateTimeValidator)validator).UpperUnit);
        }
Exemple #11
0
 /// <summary>
 /// Creates an instance of <see cref="RelativeDateTimeValidatorNode"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 public RelativeDateTimeValidatorNode(RelativeDateTimeValidatorData validatorData)
     : base(validatorData)
 {
     this.lowerUnit = validatorData.LowerUnit;
     this.upperUnit = validatorData.UpperUnit;
 }