public void ReadsInvalidEntriesSuccessfully() { StringReader reader = new StringReader("þ0þþ1þ2þ\nþ3þþ4þþ5þ"); ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" }); List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >(); while (reader.Peek() >= 0) { entries.Add(parser.ReadLine(reader.ReadLine())); } }
public void ReadsEntriesSuccessfullyDuplicateHeader() { StringReader reader = new StringReader("þ0þ,þ1þ,þ2þ,þ3þ\nþ4þ,þ5þ,þ6þ,þ7þ"); ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c", "a" }, delimiter: ','); List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >(); while (reader.Peek() >= 0) { entries.Add(parser.ReadLine(reader.ReadLine())); } string[] expected = { "3", "7" }; string[] actual = entries.Select(row => row["a_2"].ToString()).ToArray(); CollectionAssert.AreEqual(expected, actual, "Not parsed out correct columns for duplicate header concordance"); }
public void ReadsEntriesSuccessfullyCustomQuote() { StringReader reader = new StringReader("'0','1','2'\n'3','4','5'"); ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" }, delimiter: ',', quote: '\''); List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >(); while (reader.Peek() >= 0) { entries.Add(parser.ReadLine(reader.ReadLine())); } string[] expected = { "0", "3" }; string[] actual = entries.Select(row => row["a"].ToString()).ToArray(); CollectionAssert.AreEqual(expected, actual, "Not parsed out correct columns for multirow concordance"); }
public void ReadsEntriesSuccessfully() { StringReader reader = new StringReader("þ0þþ1þþ2þ\nþ3þþ4þþ5þ"); ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" }); List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >(); while (reader.Peek() >= 0) { entries.Add(parser.ReadLine(reader.ReadLine())); } string[] expected = { "0", "3" }; string[] actual = entries.Select(row => row["a"].ToString()).ToArray(); CollectionAssert.AreEqual(expected, actual, "Not parsed out correct columns for multirow concordance"); }
public void ReadsHeaderFromFirstRow() { StringReader reader = new StringReader("þaþ,þbþ,þcþ,þdþ\nþ0þ,þ1þ,þ2þ,þ3þ\nþ4þ,þ5þ,þ6þ,þ7þ"); ParseDelimited parser = new ParseDelimited(delimiter: ','); parser.ReadHeader(reader.ReadLine()); List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >(); while (reader.Peek() >= 0) { entries.Add(parser.ReadLine(reader.ReadLine())); } string[] expected = { "3", "7" }; string[] actual = entries.Select(row => row["d"].ToString()).ToArray(); CollectionAssert.AreEqual(expected, actual, "Not parsed out correct data when header provided from concordance"); }
public void ReadsEntrySuccessfully() { StringReader reader = new StringReader("þ0þþ1þþ2þ"); ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" }); List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >(); while (reader.Peek() >= 0) { entries.Add(parser.ReadLine(reader.ReadLine())); } Dictionary <string, object> entry = entries[0]; string expected = "0"; string actual = entry["a"].ToString(); Assert.AreEqual(expected, actual, "Not parsed out correct input for column 1"); }