Beispiel #1
0
            public static NestedRoot Random(CultureInfo culture)
            {
                var result = new NestedRoot();

                result.Sub1             = SettingsObjectFields.Random(culture);
                result.Sub2             = SettingsStructFields.Random(culture);
                result.Sub3             = SettingsObjectProperties.Random(culture);
                result.Sub4             = SettingsStructProperties.Random(culture);
                result.SomethingSpecial = new Random().NextDouble();
                return(result);
            }
Beispiel #2
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);
            }
        }