public void Remove()
{
DataTable Table = new DataTable("test_table");
DataColumnCollection Cols = Table.Columns;
Cols.Add("test");
Cols.Add("test2");
Cols.Add("test3");
Cols.Add("test4");
Assert.Equal(4, Cols.Count);
Cols.Remove("test2");
Assert.Equal(3, Cols.Count);
Cols.Remove("TEST3");
Assert.Equal(2, Cols.Count);
try
{
Cols.Remove("_test_");
Assert.False(true);
}
catch (Exception e)
{
Assert.Equal(typeof(ArgumentException), e.GetType());
// Never premise English.
//Assert.Equal ("Column '_test_' does not belong to table test_table.", e.Message);
}
Cols.Add();
Cols.Add();
Cols.Add();
Cols.Add();
Assert.Equal(6, Cols.Count);
Cols.Remove(Cols[0]);
Cols.Remove(Cols[0]);
Assert.Equal(4, Cols.Count);
Assert.Equal("Column1", Cols[0].ColumnName);
try
{
Cols.Remove(new DataColumn("Column10"));
Assert.False(true);
}
catch (Exception e)
{
Assert.Equal(typeof(ArgumentException), e.GetType());
// Never premise English.
//Assert.Equal ("Cannot remove a column that doesn't belong to this table.", e.Message);
}
Cols.Add();
Cols.Add();
Cols.Add();
Cols.Add();
Assert.Equal(8, Cols.Count);
Cols.RemoveAt(7);
Cols.RemoveAt(1);
Cols.RemoveAt(0);
Cols.RemoveAt(0);
Assert.Equal(4, Cols.Count);
Assert.Equal("Column4", Cols[0].ColumnName);
Assert.Equal("Column5", Cols[1].ColumnName);
try
{
Cols.RemoveAt(10);
Assert.False(true);
}
catch (Exception e)
{
Assert.Equal(typeof(IndexOutOfRangeException), e.GetType());
// Never premise English.
//Assert.Equal ("Cannot find column 10.", e.Message);
}
}