public void TestOptionTemplateFlexible() { using (var reader = new IniReader("flexible.ini", IniOptions.Flexible)) { Assert.AreEqual("flexible value", reader.GetString("flexible")); Assert.AreEqual(10L, reader.GetInt64("int_in_string")); Assert.Null(reader.GetString("nonexistant")); Assert.True(reader.GetBool("loose_property")); } }
public void TestReadParseFromStringAllowed( [Values] bool caseSensitive) { var options = new IniOptions( caseSensitive: caseSensitive, allowValueConversion: true); using (var reader = new IniReader("special.ini", options)) { Assert.AreEqual(10L, reader.GetInt64("int_in_string")); } }
public void TestReadParseFromStringNotAllowed( [Values] bool caseSensitive) { var options = new IniOptions( caseSensitive: caseSensitive, allowValueConversion: false); using (var reader = new IniReader("special.ini", options)) { Assert.Throws <InvalidCastException>(() => reader.GetInt64("int_in_string")); } }
public void TestReadCaseInsensitive( [Values] bool allowValueConversion, [Values] bool allowLooseProperties) { var options = new IniOptions( caseSensitive: false, allowValueConversion: allowValueConversion, allowLooseProperties: allowLooseProperties); using (var reader = new IniReader("basic.ini", options)) { Assert.AreEqual(10L, reader.GetInt64("Section.uppercase")); } }
public void TestReadCaseSensitive( [Values] bool allowValueConversion, [Values] bool allowLooseProperties) { var options = new IniOptions( caseSensitive: true, allowValueConversion: allowValueConversion, allowLooseProperties: allowLooseProperties); using (var reader = new IniReader("basic.ini", options)) { Assert.Throws <ArgumentException>(() => reader.GetInt64("Section.uppercase")); } }
public void TestExplicitReadFromDefaultSection( [Values] bool caseSensitive, [Values] bool allowValueConversion, [Values] bool allowLooseProperties) { var options = new IniOptions( caseSensitive: caseSensitive, allowValueConversion: allowValueConversion, allowLooseProperties: allowLooseProperties); using (var reader = new IniReader("basic.ini", options)) { Assert.AreEqual(10L, reader.GetInt64($"{Section.DefaultSectionName}.nosection")); } }
public void TestOptionTemplateUnix() { using (var reader = new IniReader("case-sensitivity.ini", IniOptions.Unix)) { Assert.Throws <ArgumentException>(() => reader.GetInt64("uppercase")); } using (var mem = new MemoryStream()) using (var streamWriter = new StreamWriter(mem)) using (var writer = new IniWriter(streamWriter, IniOptions.Unix)) { writer.StartSection("section"); writer.Write(); writer.Flush(); mem.Position = 0; var memReader = new StreamReader(mem); var read = memReader.ReadToEnd(); Assert.AreEqual("[section]\n", read); } }