public void DoesNotDieOnArrayWithEmptyObject() { var table = new JsonTableExtractor("[{}, {}]").GetTable(); Assert.That(table.Rows.Count, Is.EqualTo(2)); Assert.That(table.Columns.Count, Is.EqualTo(0)); }
public void DoesNotDieOnEmptyArray() { var table = new JsonTableExtractor("[]").GetTable(); Assert.That(table.Rows.Count, Is.EqualTo(0)); Assert.That(table.Columns.Count, Is.EqualTo(0)); }
public void CanExtractFromJsonlToo() { var jsonObjects = @"{""First column"": ""Value 1"", ""Second column"": ""Value 1""} {""First column"": ""Value 1"", ""Second column"": ""Value 1""}"; var table = new JsonTableExtractor(jsonObjects).GetTable(); Assert.That(table.Rows.Count, Is.EqualTo(2)); Assert.That(table.Columns.Count, Is.EqualTo(2)); }
public void CanExtractValues_Multiple() { var json = @"{""col1"": [""line1"", ""line2"", ""line3""]}"; var table = new JsonTableExtractor(json).GetTable(); var row = table.Rows.Single(); var cellLines = row.GetAllCells().Single().Lines; Assert.That(cellLines, Is.EqualTo(new[] { "line1", "line2", "line3" })); }
public void CanExtractValues_Strings() { var json = @"[{""col1"": ""v1"", ""col2"": ""v2"", ""col3"": ""v3""}]"; var table = new JsonTableExtractor(json).GetTable(); var row = table.Rows.Single(); var cellTexts = row.GetAllCells().OrderBy(c => c.TextValue).Select(c => c.TextValue); Assert.That(cellTexts, Is.EqualTo(new[] { "v1", "v2", "v3" })); }
public void GetsColumnsAsExpected() { var jsonObjects = @" [ { ""First column"": ""Value 1"", ""Second column"": ""Value 1"" }, { ""First column"": ""Value 1"", ""Second column"": ""Value 1"" } ] "; var table = new JsonTableExtractor(jsonObjects).GetTable(); Assert.That(table.Columns.Select(c => c.Label), Is.EqualTo(new[] { "First column", "Second column" })); }
/// <summary> /// Formats the given JSON object or array of objects as a table /// </summary> public string FormatJson(string jsonText) { var extractor = new JsonTableExtractor(jsonText); return(UseExtractor(extractor)); }