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); }
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); } }
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); }
/// <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); } }
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); } }
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); }
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); }
/// <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; }