public void CanAddMultiLevelKeys() { try { using ( var source = new RegistryConfigurationSource( FullTestKeyName( TestKeyName ) ) ) { source.Sections[SectionName].Set( "key", "value" ); source.Add( new ConfigurationSection( "NewSettings" ) ); source.Sections["NewSettings"].Set( "count", 5 ); source.Add( new ConfigurationSection( "NewSettings\\Legacy" ) ); source.Sections["NewSettings\\Legacy"].Set( "count", 5 ); source.Save(); } string root = TestKeyName; Assert.IsTrue( KeyExists( root ) ); Assert.IsFalse( KeyExists( string.Format( "{0}\\{1}", root, SectionName ) ) ); Assert.IsTrue( KeyExists( root + "\\NewSettings" ) ); Assert.IsTrue( KeyExists( root + "\\NewSettings\\Legacy" ) ); } finally { DeleteKey( TestKeyName ); } }
public void CanLoadMultiLevelKeys() { try { using ( var source = new RegistryConfigurationSource( FullTestKeyName( TestKeyName ) ) ) { source.Sections[SectionName].Set( "key", "value" ); source.Add( new ConfigurationSection( "NewSettings" ) ); source.Sections["NewSettings"].Set( "count", 5 ); source.Add( new ConfigurationSection( "NewSettings\\Legacy" ) ); source.Sections["NewSettings\\Legacy"].Set( "count", 15 ); source.Save(); } using ( var source = new RegistryConfigurationSource( FullTestKeyName( TestKeyName ) ) ) { Assert.AreEqual( 3, source.Sections.Count ); Assert.AreEqual( "NewSettings\\Legacy", source.Sections.ToList()[0].Value.Name ); Assert.AreEqual( 15, source.Sections["NewSettings\\Legacy"].Get<int>( "count" ) ); Assert.AreEqual( "NewSettings", source.Sections.ToList()[1].Value.Name ); Assert.AreEqual( 5, source.Sections["NewSettings"].Get<int>( "count" ) ); Assert.AreEqual( SectionName, source.Sections.ToList()[2].Value.Name ); Assert.AreEqual( "value", source.Sections[SectionName].Get<string>( "key" ) ); } } finally { DeleteKey( TestKeyName ); } }