public void JsonToTable_ShouldConvertFromString_HeaderAndDataRows()
 {
     string serializedTable = "[[\"item\",\"count\"],[\"cucumbers\",\"3\"],[\"bananas\",\"5\"],[\"tomatoes\",\"2\"]]";
     TableConverter converter = new TableConverter();
     Table table = converter.JsonToTable(serializedTable);
     Assert.That(table.Data.Count, Is.EqualTo(4));
 }
 public void JsonToTable_ShouldConvertFromString_HeaderRowOnly()
 {
     string serializedTable = "[[\"item\",\"count\"]]";
     TableConverter converter = new TableConverter();
     Table table = converter.JsonToTable(serializedTable);
     Assert.That(table.Hashes().Count, Is.EqualTo(0));
 }
 public void JsonToTable_ShouldConvertFromString_EmptyString()
 {
     string serializedTable = "";
     TableConverter converter = new TableConverter();
     Table table = converter.JsonToTable(serializedTable);
     Assert.That(table.Hashes().Count, Is.EqualTo(0));
 }
 public void JsonToTable_ShouldThrowForInvalidData_NotAnArray()
 {
     string serializedTable = "{\"foo\":\"bar\"}";
     TableConverter converter = new TableConverter();
     Assert.Throws<ArgumentException>(delegate {
         Table table = converter.JsonToTable(serializedTable);
     });
 }
 public void JsonToTable_ShouldThrowForInvalidData_NonStringDataInInternalArray()
 {
     string serializedTable = "[[2,1],[42,2]]";
     TableConverter converter = new TableConverter();
     //converter.JsonToTable(serializedTable);
     Assert.Throws<ArgumentException>(delegate
     {
         Table table = converter.JsonToTable(serializedTable);
     });
 }