/// <summary>Creates a configuration section handler.</summary>
        /// <returns>The created section handler object.</returns>
        /// <param name="parent">Parent object.</param>
        /// <param name="configContext">Configuration context object.</param>
        /// <param name="section">Section XML node.</param>
        public object Create(object parent, object configContext, XmlNode section)
        {
            IMappingStrategyFactory mappingStrategyFactory = new MappingStrategyFactory();
            IConfigurationReader    configurationReader    = new ConfigurationReader(section, mappingStrategyFactory);

            return(configurationReader);
        }
        public void ReadConfigurationComplexTest(string fileName)
        {
            string      input   = ReadFile(fileName);
            XmlDocument xmlNode = new XmlDocument();

            xmlNode.LoadXml(input);

            IMappingStrategyFactory mappingStrategyFactory = new MappingStrategyFactory();
            IConfigurationReader    configurationReader    = new ConfigurationReader(xmlNode.FirstChild, mappingStrategyFactory);

            SampleConfig actual = configurationReader.ReadObject <SampleConfig>();

            Assert.AreEqual(3, actual.SuperDictionaryList.Count);
            Assert.AreEqual(3, actual.DictionaryList2.Count);
        }
        public void ReadConfigurationAttributesTest()
        {
            string inputXml = @"
                <SimpleConfiguration Name=""AAA"" MaxValue=""23"">
                </SimpleConfiguration>";

            XmlDocument xml = new XmlDocument();

            xml.LoadXml(inputXml);

            IMappingStrategyFactory mappingStrategyFactory = new MappingStrategyFactory();
            IConfigurationReader    configurationReader    = new ConfigurationReader(xml.FirstChild, mappingStrategyFactory);

            SimpleConfiguration actual = configurationReader.ReadObject <SimpleConfiguration>();

            Assert.AreEqual(23, actual.MaxValue);
            Assert.AreEqual("AAA", actual.Name);
        }
        public void ReadConfiguratioNodesWithIgnoreAttributeTest()
        {
            string inputXml = @"
                <SimpleConfiguration>
                    <name>AAA</name>
                    <MaxValue>23</MaxValue>
                </SimpleConfiguration>";

            XmlDocument xml = new XmlDocument();

            xml.LoadXml(inputXml);

            IMappingStrategyFactory mappingStrategyFactory = new MappingStrategyFactory();
            IConfigurationReader    configurationReader    = new ConfigurationReader(xml.FirstChild, mappingStrategyFactory);

            SimpleConfigurationIgnore actual = configurationReader.ReadObject <SimpleConfigurationIgnore>();

            Assert.AreEqual(0, actual.MaxValue);
            Assert.AreEqual("AAA", actual.Name);
        }