Пример #1
0
        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");
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 private static void Dump(IniFileDictionary dict)
 {
     Console.WriteLine(Dumps(dict));
 }
Пример #4
0
 private static string Dumps(IniFileDictionary dict)
 {
     using (var writer = new StringWriter())
     {
         dict.Dump(writer);
         writer.Flush();
         return writer.ToString();
     }
 }