public void Load_MissingColsDefault()
{
localSetup();
DataTable dtLoad = new DataTable("LoadMissingCols");
dtLoad.Columns.Add("id", typeof(int));
dtLoad.Columns.Add("name", typeof(string));
dtLoad.Columns.Add("missing", typeof(string));
dtLoad.Columns["missing"].AllowDBNull = false;
dtLoad.Columns["missing"].DefaultValue = "DefaultValue";
dtLoad.PrimaryKey = new DataColumn[] { dtLoad.Columns["id"] };
dtLoad.Rows.Add(new object[] { 4, "mono 4", "miss4" });
dtLoad.Rows.Add(new object[] { 5, "mono 5", "miss5" });
dtLoad.Rows.Add(new object[] { 6, "mono 6", "miss6" });
dtLoad.AcceptChanges();
DataTableReader dtr = _dt.CreateDataReader();
dtLoad.Load(dtr);
Assert.Equal(3, dtLoad.Columns.Count);
Assert.Equal(6, dtLoad.Rows.Count);
Assert.Equal(4, dtLoad.Rows[0][0]);
Assert.Equal("mono 4", dtLoad.Rows[0][1]);
Assert.Equal("miss4", dtLoad.Rows[0][2]);
Assert.Equal(5, dtLoad.Rows[1][0]);
Assert.Equal("mono 5", dtLoad.Rows[1][1]);
Assert.Equal("miss5", dtLoad.Rows[1][2]);
Assert.Equal(6, dtLoad.Rows[2][0]);
Assert.Equal("mono 6", dtLoad.Rows[2][1]);
Assert.Equal("miss6", dtLoad.Rows[2][2]);
Assert.Equal(1, dtLoad.Rows[3][0]);
Assert.Equal("mono 1", dtLoad.Rows[3][1]);
Assert.Equal("DefaultValue", dtLoad.Rows[3][2]);
Assert.Equal(2, dtLoad.Rows[4][0]);
Assert.Equal("mono 2", dtLoad.Rows[4][1]);
Assert.Equal("DefaultValue", dtLoad.Rows[4][2]);
Assert.Equal(3, dtLoad.Rows[5][0]);
Assert.Equal("mono 3", dtLoad.Rows[5][1]);
Assert.Equal("DefaultValue", dtLoad.Rows[5][2]);
}