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); }
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); } }
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); } }
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"); } } }