public void ConvertDataTable__handle_empty() { // ARRANGE var j = new ToJson_Accessor(); //ACT var result = j.ConvertDataTable(new DataTable()); //ASSERT result.Should().Contain("[]"); }
public void ConvertDataTable__converts_datatable_with_one_row() { // ARRANGE var j = new ToJson_Accessor(); var dt = new DataTable(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("thefoo", typeof(string)); var row = dt.NewRow(); row[0] = 5; row[1] = "bort"; dt.Rows.Add(row); //ACT var result = j.ConvertDataTable(dt); //ASSERT result.Should().Contain(@"[{").And.Contain("\"id\":").And.Contain("\"thefoo\":").And.Contain("\"bort\"").And.Contain(@"}]"); }
public void ConvertDataTable__converts_datatable_with_multiple_rows() { // ARRANGE var j = new ToJson_Accessor(); var dt = new DataTable(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("thefoo", typeof(string)); for (int i = 0; i < 5; i++) { var row = dt.NewRow(); row[0] = i; row[1] = "bort {0}".Inject(i); dt.Rows.Add(row); } //ACT var result = j.ConvertDataTable(dt); //ASSERT result.Should().Contain(@"[{").And.Contain("},{").And.Contain(@"}]").And.Contain("bort 3"); }
public void ConvertDataTable__handle_empty_2() { // ARRANGE var j = new ToJson_Accessor(); var dt = new DataTable(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("thefoo", typeof(string)); //ACT var result = j.ConvertDataTable(new DataTable()); //ASSERT result.Should().Contain("[]"); }
public void Convert__produces_valid_json_for_datatable_one_row_and_recognizes_DBNull() { // ARRANGE var j = new ToJson_Accessor(); var dt = new DataTable(); var serializer = new JavaScriptSerializer(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("thefoo", typeof(string)); var row = dt.NewRow(); row[0] = DBNull.Value; row[1] = "bort"; dt.Rows.Add(row); //ACT var jsonString = j.ConvertDataTable(dt); var result = serializer.DeserializeObject(jsonString); //ASSERT jsonString.Should().Contain(": null"); result.Should().NotBeNull(); }
public void Convert__produces_valid_json_for_datatable_multiple_rows() { // ARRANGE var j = new ToJson_Accessor(); var dt = new DataTable(); var serializer = new JavaScriptSerializer(); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("thefoo", typeof(string)); for (int i = 0; i < 5; i++) { var row = dt.NewRow(); row[0] = i; row[1] = "bort {0}".Inject(i); dt.Rows.Add(row); } //ACT var jsonString = j.ConvertDataTable(dt); var result = serializer.DeserializeObject(jsonString) as object[]; //ASSERT result.Should().NotBeNull(); result.Should().HaveCount(5); }