Esempio n. 1
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            DomainValidatorData    rwValidatorData = new DomainValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated = true;
            rwValidatorData.Domain.Add(new DomainConfigurationElement("1"));
            rwValidatorData.Domain.Add(new DomainConfigurationElement("2"));
            rwValidatorData.Domain.Add(new DomainConfigurationElement("3"));

            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(DomainValidator <object>), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((DomainValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual(3, ((DomainValidatorData)roSettings.Validators.Get(0)).Domain.Count);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Creates an instance of <see cref="DomainValidatorNode"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 public DomainValidatorNode(DomainValidatorData validatorData)
     : base(validatorData)
 {
     foreach (DomainConfigurationElement domainConfigurationElement in validatorData.Domain)
     {
         domain.Add(new DomainValue(domainConfigurationElement.Name));
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Creates an instance of <see cref="DomainValidatorNode"/> based on runtime configuration data.
 /// </summary>
 /// <param name="validatorData">The corresponding runtime configuration data.</param>
 public DomainValidatorNode(DomainValidatorData validatorData)
     : base(validatorData)
 {
     foreach (DomainConfigurationElement domainConfigurationElement in validatorData.Domain)
     {
         domain.Add(new DomainValue(domainConfigurationElement.Name));
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Returns the runtime configuration data that is represented by this node.
        /// </summary>
        /// <returns>An instance of <see cref="DomainValidatorData"/> that can be persisted to a configuration file.</returns>
        public override ValidatorData CreateValidatorData()
        {
            DomainValidatorData validatorData = new DomainValidatorData(Name);

            SetValidatorBaseProperties(validatorData);
            SetValueValidatorBaseProperties(validatorData);

            foreach (DomainValue domainValue in Domain)
            {
                validatorData.Domain.Add(new DomainConfigurationElement(domainValue.Value));
            }

            return(validatorData);
        }
Esempio n. 5
0
        public void CreatedNodeWithValidatorDataHasAppropriateValuesFromData()
        {
            DomainValidatorData validatorData = new DomainValidatorData("name");

            validatorData.Negated = true;
            validatorData.Domain.Add(new DomainConfigurationElement("1"));
            validatorData.Domain.Add(new DomainConfigurationElement("2"));
            validatorData.Domain.Add(new DomainConfigurationElement("3"));

            DomainValidatorNode node = new DomainValidatorNode(validatorData);

            Assert.AreEqual("name", node.Name);
            Assert.AreEqual(true, node.Negated);
            Assert.AreEqual(3, node.Domain.Count);
        }
Esempio n. 6
0
        public void CreatedNodeHasAppropriateDefaultValues()
        {
            DomainValidatorNode node = new DomainValidatorNode();

            DomainValidatorData validatorData = node.CreateValidatorData() as DomainValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual(Resources.DomainValidatorNodeName, validatorData.Name);
            Assert.AreEqual(false, validatorData.Negated);
            Assert.AreEqual(0, validatorData.Domain.Count);

            Assert.AreEqual(Resources.DomainValidatorNodeName, node.Name);
            Assert.AreEqual(false, node.Negated);
            Assert.AreEqual(0, node.Domain.Count);
        }
Esempio n. 7
0
        public void NodeCreatesValidatorDataWithValues()
        {
            DomainValidatorNode node = new DomainValidatorNode();

            node.Name    = "validator";
            node.Negated = true;
            node.Domain.Add(new DomainValue("1"));
            node.Domain.Add(new DomainValue("2"));
            node.Domain.Add(new DomainValue("3"));

            DomainValidatorData validatorData = node.CreateValidatorData() as DomainValidatorData;

            Assert.IsNotNull(validatorData);
            Assert.AreEqual("validator", validatorData.Name);
            Assert.AreEqual(true, validatorData.Negated);
            Assert.AreEqual(3, validatorData.Domain.Count);
        }
Esempio n. 8
0
        public void CanCreateValidatorFromConfigurationObject()
        {
            DomainValidatorData rwValidatorData = new DomainValidatorData("validator1");

            rwValidatorData.Negated = true;
            rwValidatorData.Domain.Add(new DomainConfigurationElement("1"));
            rwValidatorData.Domain.Add(new DomainConfigurationElement("2"));
            rwValidatorData.Domain.Add(new DomainConfigurationElement("3"));

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

            Assert.IsNotNull(validator);
            Assert.AreSame(typeof(DomainValidator <object>), validator.GetType());
            Assert.AreEqual(Resources.DomainNegatedDefaultMessageTemplate, validator.MessageTemplate);
            Assert.AreEqual(true, ((DomainValidator <object>)validator).Negated);
            Assert.AreEqual(3, ((DomainValidator <object>)validator).Domain.Count);
            Assert.IsTrue(typeof(string).Equals(((DomainValidator <object>)validator).Domain[0].GetType()));
        }
Esempio n. 9
0
        /// <summary>
        /// Returns the runtime configuration data that is represented by this node.
        /// </summary>
        /// <returns>An instance of <see cref="DomainValidatorData"/> that can be persisted to a configuration file.</returns>
        public override ValidatorData CreateValidatorData()
        {
            DomainValidatorData validatorData = new DomainValidatorData(Name);
            SetValidatorBaseProperties(validatorData);
            SetValueValidatorBaseProperties(validatorData);

            foreach (DomainValue domainValue in Domain)
            {
                validatorData.Domain.Add(new DomainConfigurationElement(domainValue.Value));
            }

            return validatorData;
        }