public void Constructor() { var s = @" # comment [section1] section1key1=value11 section1key2=value12 [section2] section2.key1=value21 section2.key2=value22 section2.key3= section2.key4= line1 line2 line3 section2.key5=0 section2.key6=line1 line2 line3 [section.3] key key = value1 "; var ini = new IniFileDictionary(new StringReader(s)); Assert.IsTrue(ini.ContainsKey("section1")); Assert.AreEqual(ini["section1"]["section1key1"], "value11"); Assert.AreEqual(ini["section1"]["section1key2"], "value12"); Assert.IsTrue(ini.ContainsKey("section2")); Assert.AreEqual(ini["section2"]["section2.key1"], "value21"); Assert.AreEqual(ini["section2"]["section2.key2"], "value22"); Assert.AreEqual(ini["section2"]["section2.key3"], ""); Assert.AreEqual(ini["section2"]["section2.key4"], "\nline1\nline2\nline3"); Assert.AreEqual(ini["section2"]["section2.key5"], "0"); Assert.AreEqual(ini["section2"]["section2.key6"], "line1\nline2\nline3"); Assert.IsTrue(ini.ContainsKey("section.3")); Assert.AreEqual(ini["section.3"]["key key"], "value1"); }
public void Serializable() { var s = @" # comment [section1] section1key1=value11 section1key2=value12 [section2] section2.key1=value21 section2.key2=value22 section2.key3= section2.key4= line1 line2 line3 section2.key5=0 section2.key6=line1 line2 line3 [section.3] key key = value1 "; var dict = new IniFileDictionary(new StringReader(s)); using (var tmpfile = new TemporaryFile()) { Console.WriteLine(tmpfile.FullName); PersistenceHelper.SaveObj(dict, tmpfile.FullName); var deserialized = PersistenceHelper.RestoreObj<IniFileDictionary>(tmpfile.FullName); Assert.AreEqual(Dumps(dict), Dumps(deserialized)); Dump(deserialized); } }
private static void Dump(IniFileDictionary dict) { Console.WriteLine(Dumps(dict)); }
private static string Dumps(IniFileDictionary dict) { using (var writer = new StringWriter()) { dict.Dump(writer); writer.Flush(); return writer.ToString(); } }