diff --git a/ConsoleTables.Tests/ConsoleTableTest.cs b/ConsoleTables.Tests/ConsoleTableTest.cs index 83181e7..758ee3a 100644 --- a/ConsoleTables.Tests/ConsoleTableTest.cs +++ b/ConsoleTables.Tests/ConsoleTableTest.cs @@ -230,6 +230,23 @@ public void TestDataTable() ",table.ToMarkDownString()); } + [Fact] + public void TestObjectArray() + { + Object[][] userData = new Object[][] + { + new Object[] { "Column1", "Column2" }, + new Object[] { "Test", 1 }, + new Object[] { "Test", 2 } + }; + var table = ConsoleTable.From(userData); + string minimalString = table.ToMinimalString(); + Assert.Equal(@"| Column1 | Column2 | +|---------|---------| +| Test | 1 | +| Test | 2 | +", minimalString); + } class User { diff --git a/src/ConsoleTables/ConsoleTable.cs b/src/ConsoleTables/ConsoleTable.cs index d5d2436..1a2c52d 100644 --- a/src/ConsoleTables/ConsoleTable.cs +++ b/src/ConsoleTables/ConsoleTable.cs @@ -129,6 +129,22 @@ public static ConsoleTable From(DataTable dataTable) return table; } + public static ConsoleTable From(Object[][] values) + { + var table = new ConsoleTable(); + for (var i = 0; i < values.Length; i++) + { + if (i == 0) + { + table.AddColumn(values[i].Select(x => x.ToString())); + } + else + { + table.AddRow(values[i]); + } + } + return table; + } public override string ToString() {