예제 #1
0
        public void CanParseMultipleSections()
        {
            string xml = DotNetConfigurationSource.ToXml( SectionGenerator.GetThreeSections() );

            var source = new DotNetConfigurationSource( xml );
            Assert.AreEqual( 3, source.Sections.Count );
            Assert.IsNotNull( source.Sections["Default"] );
            Assert.IsNotNull( source.Sections["Default2"] );
            Assert.IsNotNull( source.Sections["Default3"] );
            int count = 0;
            foreach ( IConfigurationSection configurationSection in source )
            {
                foreach ( KeyValuePair<string, string> pair in configurationSection )
                {
                    Assert.AreEqual( pair.Value,
                                     source.Sections[configurationSection.Name].Get<string>( pair.Key ) );
                    count++;
                }

                foreach ( KeyValuePair<string, string> pair in source.Sections[configurationSection.Name] )
                {
                    Assert.AreEqual( pair.Value, configurationSection.Get<string>( pair.Key ) );
                    count++;
                }
            }
            Assert.AreEqual( 10, count );
        }
예제 #2
0
        public void CanParseSingleSection()
        {
            IConfigurationSection section = SectionGenerator.GetSingleSection();
            string xml = DotNetConfigurationSource.ToXml( new[] { section } );

            var source = new DotNetConfigurationSource( xml );
            Assert.AreEqual( 1, source.Sections.Count );
            Assert.IsNotNull( source.Sections["Default"] );
            int count = 0;
            foreach ( IConfigurationSection configurationSection in source )
            {
                foreach ( KeyValuePair<string, string> pair in configurationSection )
                {
                    Assert.AreEqual( pair.Value, section.Get<string>( pair.Key ) );
                    count++;
                }

                foreach ( KeyValuePair<string, string> pair in section )
                {
                    Assert.AreEqual( pair.Value, configurationSection.Get<string>( pair.Key ) );
                    count++;
                }
            }
            Assert.AreEqual( 10, count );
        }
예제 #3
0
        public void CanLoadFromFile()
        {
            string xml = DotNetConfigurationSource.ToXml( SectionGenerator.GetThreeSections() );

            var source = new DotNetConfigurationSource( xml ) { FileName = "CanLoadFromFile.xml" };
            source.Save();

            IConfigurationSource sourceFromFile = DotNetConfigurationSource.FromFile( "CanLoadFromFile.xml" );
            string sourceString = source.ToString();
            string sourceFromFileString = sourceFromFile.ToString();
            Assert.AreEqual( sourceString, sourceFromFileString );
        }