public void GetColumnsInError()
{
string sColErr = "Error!";
DataColumn[] dcArr;
DataTable dt = new DataTable("myTable");
//init some columns
dt.Columns.Add(new DataColumn());
dt.Columns.Add(new DataColumn());
dt.Columns.Add(new DataColumn());
dt.Columns.Add(new DataColumn());
dt.Columns.Add(new DataColumn());
//init some rows
dt.Rows.Add(new object[] { });
dt.Rows.Add(new object[] { });
dt.Rows.Add(new object[] { });
DataRow dr = dt.Rows[1];
dcArr = dr.GetColumnsInError();
// GetColumnsInError 1
Assert.Equal(0, dcArr.Length);
dr.SetColumnError(0, sColErr);
dr.SetColumnError(2, sColErr);
dr.SetColumnError(4, sColErr);
dcArr = dr.GetColumnsInError();
// GetColumnsInError 2
Assert.Equal(3, dcArr.Length);
//check that the right columns taken
// GetColumnsInError 3
Assert.Equal(dt.Columns[0], dcArr[0]);
// GetColumnsInError 4
Assert.Equal(dt.Columns[2], dcArr[1]);
// GetColumnsInError 5
Assert.Equal(dt.Columns[4], dcArr[2]);
}