public void EmptyConstructor() { string filePath = "EmptyConstructor.xml"; XmlConfigSource source = new XmlConfigSource (); IConfig config = source.AddConfig ("Pets"); config.Set ("cat", "Muffy"); config.Set ("dog", "Rover"); config.Set ("bird", "Tweety"); source.Save (filePath); Assert.AreEqual (3, config.GetKeys ().Length); Assert.AreEqual ("Muffy", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual ("Tweety", config.Get ("bird")); source = new XmlConfigSource (filePath); config = source.Configs["Pets"]; Assert.AreEqual (3, config.GetKeys ().Length); Assert.AreEqual ("Muffy", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual ("Tweety", config.Get ("bird")); File.Delete (filePath); }
/// <summary> /// Initializes a new instance of the <see cref="GeneralSettings"/> class. /// </summary> /// <remarks> /// Internal to prevent construction of this class by any other /// assembly. This class is intended to be constructed by the /// <see cref="Configuration"/> class only. /// </remarks> /// <param name="configurationSource">Reference to the /// configuration source that contains the configuration file.</param> internal GeneralSettings(XmlConfigSource configurationSource) { _config = configurationSource.Configs["General"]; if (_config == null) { _config = configurationSource.AddConfig("General"); SetDefaults(); } }
/// <summary> /// Initializes a new instance of the <see cref="DatabaseSettings"/> class. /// </summary> /// <remarks> /// Internal to prevent construction of this class by any other /// assembly. This class is intended to be constructed by the /// <see cref="Configuration"/> class only. /// </remarks> /// <param name="configurationSource">Reference to the /// configuration source that contains the configuration file.</param> internal DatabaseSettings(XmlConfigSource configurationSource) { _config = configurationSource.Configs["Database"]; if (_config == null) { _config = configurationSource.AddConfig("Database"); SetDefaults(); } }
public void SaveToStream() { string filePath = "SaveToStream.ini"; FileStream stream = new FileStream (filePath, FileMode.Create); // Create a new document and save to stream XmlConfigSource source = new XmlConfigSource (); IConfig config = source.AddConfig ("Pets"); config.Set ("dog", "rover"); config.Set ("cat", "muffy"); source.Save (stream); stream.Close (); XmlConfigSource newSource = new XmlConfigSource (filePath); config = newSource.Configs["Pets"]; Assert.IsNotNull (config); Assert.AreEqual (2, config.GetKeys ().Length); Assert.AreEqual ("rover", config.GetString ("dog")); Assert.AreEqual ("muffy", config.GetString ("cat")); stream.Close (); File.Delete (filePath); }
public void SaveNewSection() { string filePath = "Test.xml"; StringWriter textWriter = new StringWriter (); XmlTextWriter writer = NiniWriter (textWriter); WriteSection (writer, "new section"); WriteKey (writer, "dog", "Rover"); WriteKey (writer, "cat", "Muffy"); writer.WriteEndDocument (); XmlDocument doc = new XmlDocument (); doc.LoadXml (textWriter.ToString ()); doc.Save (filePath); XmlConfigSource source = new XmlConfigSource (filePath); IConfig config = source.AddConfig ("test"); Assert.IsNotNull (source.Configs["test"]); source.Save (); source = new XmlConfigSource (filePath); config = source.Configs["new section"]; Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual ("Muffy", config.Get ("cat")); Assert.IsNotNull (source.Configs["test"]); File.Delete (filePath); }
public void RemoveConfigAndKeyFromFile() { string filePath = "Test.xml"; StreamWriter xmlWriter = new StreamWriter (filePath); XmlTextWriter writer = NiniWriter (xmlWriter); WriteSection (writer, "test 1"); WriteKey (writer, "dog", "Rover"); writer.WriteEndElement (); WriteSection (writer, "test 2"); WriteKey (writer, "cat", "Muffy"); WriteKey (writer, "lizard", "Lizzy"); writer.WriteEndDocument (); xmlWriter.Close (); XmlConfigSource source = new XmlConfigSource (filePath); Assert.IsNotNull (source.Configs["test 1"]); Assert.IsNotNull (source.Configs["test 2"]); Assert.IsNotNull (source.Configs["test 2"].Get ("cat")); source.Configs.Remove (source.Configs["test 1"]); source.Configs["test 2"].Remove ("cat"); source.AddConfig ("cause error"); source.Save (); source = new XmlConfigSource (filePath); Assert.IsNull (source.Configs["test 1"]); Assert.IsNotNull (source.Configs["test 2"]); Assert.IsNull (source.Configs["test 2"].Get ("cat")); File.Delete (filePath); }
public void Reload() { string filePath = "Reload.xml"; XmlConfigSource source = new XmlConfigSource (); IConfig petConfig = source.AddConfig ("Pets"); petConfig.Set ("cat", "Muffy"); petConfig.Set ("dog", "Rover"); IConfig weatherConfig = source.AddConfig ("Weather"); weatherConfig.Set ("skies", "cloudy"); weatherConfig.Set ("precipitation", "rain"); source.Save (filePath); Assert.AreEqual (2, petConfig.GetKeys ().Length); Assert.AreEqual ("Muffy", petConfig.Get ("cat")); Assert.AreEqual (2, source.Configs.Count); XmlConfigSource newSource = new XmlConfigSource (filePath); IConfig compareConfig = newSource.Configs["Pets"]; Assert.AreEqual (2, compareConfig.GetKeys ().Length); Assert.AreEqual ("Muffy", compareConfig.Get ("cat")); Assert.IsTrue (compareConfig == newSource.Configs["Pets"], "References before are not equal"); // Set the new values to source source.Configs["Pets"].Set ("cat", "Misha"); source.Configs["Pets"].Set ("lizard", "Lizzy"); source.Configs["Pets"].Set ("hampster", "Surly"); source.Configs["Pets"].Remove ("dog"); source.Configs.Remove (weatherConfig); source.Save (); // saves new value // Reload the new source and check for changes newSource.Reload (); Assert.IsTrue (compareConfig == newSource.Configs["Pets"], "References after are not equal"); Assert.AreEqual (1, newSource.Configs.Count); Assert.AreEqual (3, newSource.Configs["Pets"].GetKeys ().Length); Assert.AreEqual ("Lizzy", newSource.Configs["Pets"].Get ("lizard")); Assert.AreEqual ("Misha", newSource.Configs["Pets"].Get ("cat")); Assert.IsNull (newSource.Configs["Pets"].Get ("dog")); File.Delete (filePath); }