public void CanDeserializeSerializedInstanceWithValuesSet() { MockValidationSettings rwSettings = new MockValidationSettings(); CustomValidatorData rwValidatorData = new CustomValidatorData("validator1", typeof(MockCustomValidator)); rwSettings.Validators.Add(rwValidatorData); rwValidatorData.Attributes.Add("returnFailure", "true"); rwValidatorData.Attributes.Add("foo", "bar"); 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(MockCustomValidator), roSettings.Validators.Get(0).Type); Assert.AreEqual(2, ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes.Count); Assert.AreEqual("true", ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes["returnFailure"]); Assert.AreEqual("bar", ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes["foo"]); } }
public void CanDeserializeSerializedInstanceWithValuesSet() { MockValidationSettings rwSettings = new MockValidationSettings(); CustomValidatorData rwValidatorData = new CustomValidatorData("validator1", typeof(MockCustomValidator)); rwSettings.Validators.Add(rwValidatorData); rwValidatorData.Attributes.Add("returnFailure", "true"); rwValidatorData.Attributes.Add("foo", "bar"); 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(MockCustomValidator), roSettings.Validators.Get(0).Type); Assert.AreEqual(2, ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes.Count); Assert.AreEqual("true", ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes["returnFailure"]); Assert.AreEqual("bar", ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes["foo"]); } }
/// <summary> /// Creates an instance of <see cref="CustomValidatorData"/> based on runtime configuration data. /// </summary> /// <param name="validatorData">The corresponding runtime configuration data.</param> public CustomValidatorNode(CustomValidatorData validatorData) : base(validatorData) { if (null == validatorData) throw new ArgumentNullException("validatorData"); foreach (string key in validatorData.Attributes) { editableAttributes.Add(new EditableKeyValue(key, validatorData.Attributes[key])); } customValidatorTypeName = validatorData.TypeName; }
/// <summary> /// Returns the runtime configuration data that is represented by this node. /// </summary> /// <returns>An instance of <see cref="CustomValidatorData"/> that can be persisted to a configuration file.</returns> public override ValidatorData CreateValidatorData() { CustomValidatorData customValidatorData = new CustomValidatorData(Name, customValidatorTypeName); SetValidatorBaseProperties(customValidatorData); foreach (EditableKeyValue kv in editableAttributes) { customValidatorData.Attributes.Add(kv.Key, kv.Value); } return(customValidatorData); }
public void CanCreateValidatorFromConfigurationObject() { CustomValidatorData rwValidatorData = new CustomValidatorData("validator1", typeof(MockCustomValidator)); rwValidatorData.Attributes.Add("returnFailure", "true"); rwValidatorData.Attributes.Add("foo", "bar"); Validator validator = ((IValidatorDescriptor)rwValidatorData).CreateValidator(null, null, null, null); Assert.IsNotNull(validator); Assert.AreSame(typeof(MockCustomValidator), validator.GetType()); Assert.AreEqual(true, ((MockCustomValidator)validator).ReturnFailure); Assert.AreEqual(MockCustomValidator.DefaultMockValidatorMessageTemplate, ((MockCustomValidator)validator).MessageTemplate); }
/// <summary> /// Creates an instance of <see cref="CustomValidatorData"/> based on runtime configuration data. /// </summary> /// <param name="validatorData">The corresponding runtime configuration data.</param> public CustomValidatorNode(CustomValidatorData validatorData) : base(validatorData) { if (null == validatorData) { throw new ArgumentNullException("validatorData"); } foreach (string key in validatorData.Attributes) { editableAttributes.Add(new EditableKeyValue(key, validatorData.Attributes[key])); } customValidatorTypeName = validatorData.TypeName; }
/// <summary> /// Returns the runtime configuration data that is represented by this node. /// </summary> /// <returns>An instance of <see cref="CustomValidatorData"/> that can be persisted to a configuration file.</returns> public override ValidatorData CreateValidatorData() { CustomValidatorData customValidatorData = new CustomValidatorData(Name, customValidatorTypeName); SetValidatorBaseProperties(customValidatorData); foreach (EditableKeyValue kv in editableAttributes) { customValidatorData.Attributes.Add(kv.Key, kv.Value); } return customValidatorData; }