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"]);
            }
        }
コード例 #2
0
        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"]);
            }
        }
コード例 #3
0
        /// <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;
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        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);
        }
        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);
        }
コード例 #7
0
        /// <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;
        }
コード例 #8
0
        /// <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;
        }