Ejemplo n.º 1
0
        public void NestedInifileTest()
        {
            var writer = new IniWriter();
            var test   = NestedRoot.Random(CultureInfo.InvariantCulture);

            writer.WriteProperties("test", test);

            var reader  = writer.ToReader();
            var current = reader.ReadObjectProperties <NestedRoot>("test");

            Assert.AreEqual(test, current);
        }
Ejemplo n.º 2
0
        public void Test()
        {
            var writer = new IniWriter();

            for (var i = 0; i < 100; i++)
            {
                var s = TestStruct.Create(i ^ (1 << (i % 32)));
                writer.WriteFields($"struct{i}", s);
            }
            var reader = writer.ToReader();

            for (var i = 0; i < 100; i++)
            {
                var expected = TestStruct.Create(i ^ (1 << (i % 32)));
                var current  = reader.ReadStructFields <TestStruct>($"struct{i}");
                Assert.AreEqual(expected, current);
            }
        }
Ejemplo n.º 3
0
        public void IniReaderWriterTest()
        {
            var temp = Path.GetTempFileName();

            Console.WriteLine($"{nameof(IniReaderWriterTest)}.cs: info TI0002: TestFile {temp}");
            foreach (var culture in allCultures)
            {
                Console.WriteLine($"{nameof(IniReaderWriterTest)}.cs: info TI0002: Test {culture}");

                if (!(culture.Calendar is GregorianCalendar))
                {
                    Console.WriteLine($"- Skipping calendar {culture.Calendar}");
                    continue;
                }

                var settings   = new SettingsStructFields[10];
                var properties = IniProperties.Default;
                properties.Culture = culture;
                var writer = new IniWriter(temp, properties);

                {
                    var setting = SettingsStructFields.Random(null);
                    settings[0] = setting;
                    writer.WriteFields($"Section 0", setting);
                }
                for (var i = 1; i < settings.Length; i++)
                {
                    var setting = SettingsStructFields.Random(culture);
                    settings[i] = setting;
                    writer.WriteFields($"Section {i}", setting);
                }
                writer.Save(temp);

                TestReader((IniReader)writer.ToReader(), settings);
                TestReader(IniReader.FromFile(temp, properties), settings);
            }
        }
Ejemplo n.º 4
0
        public void IniReaderWriterStringTest()
        {
            void Test(string s)
            {
                var writer = new IniWriter();

                writer.WriteSetting("test", "string", s);
                var reader = writer.ToReader();
                var value  = reader.ReadSetting("test", "string");

                Assert.AreEqual(s, value);
            }

            for (var i = 0; i < 255; i++)
            {
                Test(((char)i).ToString());
            }

            var random = new Random();

            foreach (var encodingInfo in Encoding.GetEncodings())
            {
                for (var i = 0; i < 100; i++)
                {
                    var encoding = encodingInfo.GetEncoding();
                    var buf      = encoding.GetBytes(new string(' ', 100));
                    random.NextBytes(buf);
                    var str = encoding.GetString(buf);

                    Test(str);
                    Test(str + " ");
                    Test(" " + str);
                    Test("#" + str);
                    Test("\t" + str + "\r\n");
                }
            }
        }