public void Flattened () { RegistryConfigSource source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp", RegistryRecurse.Flattened); IConfig config = source.Configs["NiniTestApp"]; Assert.AreEqual ("Configuration Library", config.Get ("Description")); config = source.Configs["Pets"]; Assert.AreEqual ("Pets", config.Name); Assert.AreEqual (3, config.GetKeys ().Length); Assert.AreEqual (source, config.ConfigSource); Assert.AreEqual ("Chi-chi", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual (5, config.GetInt ("count")); config.Set ("cat", "Muffy"); config.Set ("dog", "Spots"); config.Set ("count", 4); source.Save (); source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); config = source.Configs["Pets"]; Assert.AreEqual ("Muffy", config.Get ("cat")); Assert.AreEqual ("Spots", config.Get ("dog")); Assert.AreEqual (4, config.GetInt ("count")); }
public void AddConfigNoDefaultKey() { RegistryConfigSource source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); IConfig config = source.AddConfig ("People"); }
public void SetAndSaveNormal () { RegistryConfigSource source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); IConfig config = source.Configs["Pets"]; Assert.AreEqual ("Chi-chi", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual (5, config.GetInt ("count")); config.Set ("cat", "Muffy"); config.Set ("dog", "Spots"); config.Set ("DoesNotExist", "SomeValue"); config.Set ("count", 4); source.Save (); source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); config = source.Configs["Pets"]; Assert.AreEqual ("Muffy", config.Get ("cat")); Assert.AreEqual ("Spots", config.Get ("dog")); Assert.AreEqual ("SomeValue", config.Get ("DoesNotExist")); Assert.AreEqual (4, config.GetInt ("count")); }
public void GetSingleLevel () { RegistryConfigSource source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); IConfig config = source.Configs["Pets"]; Assert.AreEqual ("Pets", config.Name); Assert.AreEqual (3, config.GetKeys ().Length); Assert.AreEqual (source, config.ConfigSource); Assert.AreEqual ("Chi-chi", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual (5, config.GetInt ("count")); }
public void AddConfigDefaultKey() { RegistryConfigSource source = new RegistryConfigSource (); source.DefaultKey = Registry.LocalMachine.OpenSubKey("Software\\NiniTestApp", true); IConfig config = source.AddConfig ("People"); config.Set ("woman", "Tara"); config.Set ("man", "Quentin"); source.Save (); source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\People"); Assert.AreEqual (1, source.Configs.Count); config = source.Configs["People"]; Assert.AreEqual (2, config.GetKeys ().Length); Assert.AreEqual ("Tara", config.Get ("woman")); Assert.AreEqual ("Quentin", config.Get ("man")); }
public void NonExistantKey () { RegistryConfigSource source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\Does\\NotExist"); }
public void Reload () { RegistryConfigSource source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); source.Configs["Pets"].Set ("cat", "Muffy"); source.Save (); Assert.AreEqual (3, source.Configs["Pets"].GetKeys ().Length); Assert.AreEqual ("Muffy", source.Configs["Pets"].Get ("cat")); RegistryConfigSource newSource = new RegistryConfigSource (); newSource.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); Assert.AreEqual (3, newSource.Configs["Pets"].GetKeys ().Length); Assert.AreEqual ("Muffy", newSource.Configs["Pets"].Get ("cat")); source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); source.Configs["Pets"].Set ("cat", "Misha"); source.Save (); // saves new value newSource.Reload (); Assert.AreEqual (3, newSource.Configs["Pets"].GetKeys ().Length); Assert.AreEqual ("Misha", newSource.Configs["Pets"].Get ("cat")); }
public void MergeAndSave () { RegistryConfigSource source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); IConfig config = source.Configs["Pets"]; Assert.AreEqual ("Chi-chi", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual (5, config.GetInt ("count")); StringWriter writer = new StringWriter (); writer.WriteLine ("[Pets]"); writer.WriteLine ("cat = Becky"); // overwrite writer.WriteLine ("lizard = Saurus"); // new writer.WriteLine ("[People]"); writer.WriteLine (" woman = Jane"); writer.WriteLine (" man = John"); IniConfigSource iniSource = new IniConfigSource (new StringReader (writer.ToString ())); source.Merge (iniSource); config = source.Configs["Pets"]; Assert.AreEqual (4, config.GetKeys ().Length); Assert.AreEqual ("Becky", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual ("Saurus", config.Get ("lizard")); config = source.Configs["People"]; Assert.AreEqual (2, config.GetKeys ().Length); Assert.AreEqual ("Jane", config.Get ("woman")); Assert.AreEqual ("John", config.Get ("man")); config.Set ("woman", "Tara"); config.Set ("man", "Quentin"); source.Save (); source = new RegistryConfigSource (); source.AddMapping (Registry.LocalMachine, "Software\\NiniTestApp\\Pets"); config = source.Configs["Pets"]; Assert.AreEqual (4, config.GetKeys ().Length); Assert.AreEqual ("Becky", config.Get ("cat")); Assert.AreEqual ("Rover", config.Get ("dog")); Assert.AreEqual ("Saurus", config.Get ("lizard")); config = source.Configs["People"]; Assert.IsNull (config); // you cannot merge new sections /* Assert.AreEqual (2, config.GetKeys ().Length); Assert.AreEqual ("Tara", config.Get ("woman")); Assert.AreEqual ("Quentin", config.Get ("man")); */ }