public void TestWriteTsv() { string output; string expectedOutput = "foo\tbar\tbaz\n" + "wibble\twobble\tspong"; IList <IList <string> > input = new string[][] { new string[] { "foo", "bar", "baz" }, new string[] { "wibble", "wobble", "spong" } }; ITabularDataParser parser = new TabularDataParser(TabularDataFormat.CreateTsv()); output = parser.Write(input); Assert.AreEqual(expectedOutput, output, "Correct string rendering"); }
public void TestReadTsv() { string input = "foo\tbar\tbaz\n" + "wibble\twobble\tspong"; ITabularDataParser parser = new TabularDataParser(TabularDataFormat.CreateTsv()); var output = parser.Read(input); Assert.AreEqual(2, output.GetRowCount(), "Correct row count"); Assert.AreEqual("wibble", output[1][0], "Correct data in second row, first column"); Assert.AreEqual("wobble", output[1][1], "Correct data in second row, second column"); }
public void TestReadTsvWithQuotedUnicode() { string input = "foo\tbar\tbaz\n" + "wibble\t wobble \tspong\n" + "\" foo\"\t\"\"\"bar\"\"\"\t\"A big, \"\"big, ¥en test!\""; ITabularDataParser parser = new TabularDataParser(TabularDataFormat.CreateTsv()); var output = parser.Read(input); Assert.AreEqual(3, output.GetRowCount(), "Correct row count"); Assert.AreEqual("wobble", output[1][1], "Correct data in second row, second column"); Assert.AreEqual("\" foo\"", output[2][0], "Correct data in third row, first column"); Assert.AreEqual("\"\"\"bar\"\"\"", output[2][1], "Correct data in third row, second column"); Assert.AreEqual("\"A big, \"\"big, ¥en test!\"", output[2][2], "Correct data in third row, third column"); }