public void ParseTabularTest() { ParseTabularTest("1 2 3|4 5 6|7 a 99", 3, 3); ParseTabularTest("1 3|4 5 6", 2, 3); Tabular tabular = ParseTabularTest(@"1 hello\ world 3|4 5 6", 2, 3); Assert.AreEqual(@"hello\ world", tabular.GetData(0, 1).ToString()); tabular = ParseTabularTest(@"abcd hello\ wor\|\|ld 3|4 6", 2, 3); Assert.AreEqual(@"hello\ wor\|\|ld", tabular.GetData(0, 1).ToString()); Assert.AreEqual(ReadOnlyMemory <char> .Empty, tabular.GetData(1, 1)); tabular = ParseTabularTest(@"1 2 3 4|4 5 6", 2, 4); Assert.AreEqual(ReadOnlyMemory <char> .Empty, tabular.GetData(1, 3)); tabular = Tabular.Parse(@"1 2 3 4|4 5 6 "); Assert.AreEqual(@"1 2 3 4|4 5 6 ", tabular.ToString()); tabular = ParseTabularTest(@"1 \\ 3|4 5 6", 2, 3); Assert.AreEqual(@"\\", tabular.GetData(0, 1).ToString()); tabular = Tabular.Parse("1 2 3 | 4 5 6 | 7 "); Assert.AreEqual("4", tabular.GetData(1, 0).ToString()); Assert.AreEqual("7", tabular.GetData(2, 0).ToString()); Assert.AreEqual("1 2 3|4 5 6|7", tabular.ToString()); tabular = Tabular.Parse(@"1 2 3 | 4 5 6 | 7 some\ long\ sentence"); Assert.AreEqual(3, tabular.Rows); Assert.AreEqual(3, tabular.Columns); Assert.AreEqual(@"some\ long\ sentence", tabular.GetData(2, 1).ToString()); ParseTabularTest(@"1 2 3 4\ 5\6", 1, 4); ParseTabularTest(@"xyz", 1, 1); tabular = Tabular.Parse(@"xyz\|\||"); Assert.AreEqual(1, tabular.Rows); Assert.AreEqual(1, tabular.Columns); Assert.AreEqual(@"xyz\|\|", tabular.ToString()); }
private static Tabular ParseTabularTest(string s, int rows, int columns) { Tabular tabular = Tabular.Parse(s); AssertPropertyValues(tabular); tabular = Tabular.Parse(s.GetBytes()); AssertPropertyValues(tabular); void AssertPropertyValues(Tabular tabular) { Assert.AreEqual(rows, tabular.Rows); Assert.AreEqual(columns, tabular.Columns); Assert.AreEqual(s, tabular.ToString()); } return(tabular); }