public void TestColumns(string tableName, int[] expectedColumns) { var path = TestContext.CurrentContext.TestDirectory + "../../../../resources/" + tableName; var ts = new TableStatistics(); ts.Read(path); var columns = ts.Columns(2).Select(c => c.End); CollectionAssert.AreEqual(expectedColumns, columns); }
public void TestHeader(string tableName, string[] expectedColumns) { var path = TestContext.CurrentContext.TestDirectory + "../../../../resources/" + tableName; var ts = new TableStatistics(); ts.Read(path); var columns = ts.Columns(2); var p = new TableParser(); var res = p.Read(ts, path); CollectionAssert.AreEqual(expectedColumns, res.Tables[0].Rows[0].Cells.Select(x => x.Value.Trim()).ToArray()); }
internal void Parse(TableStatistics stats, string line) { if (string.IsNullOrWhiteSpace(line)) { return; } var columns = stats.Columns(2); foreach (var column in columns) { var end = Math.Min(line.Length, column.End + 1) - column.Start; if (end <= 0) { Cells.Add(new Cell("")); break; } string v = line.Substring(column.Start, end).Trim(); Cells.Add(new Cell(v)); } // if (cur < line.Length) // Cells.Add(new Cell(line.Substring(cur))); }