public void CanRemove()
{
DataTable Table = new DataTable("test_table");
DataTable Table2 = new DataTable("test_table_2");
DataColumnCollection Cols = Table.Columns;
DataColumn C = new DataColumn("test1");
Cols.Add();
// LAMESPEC: MSDN says that if C doesn't belong to Cols
// Exception is thrown.
Assert.False(Cols.CanRemove(C));
Cols.Add(C);
Assert.True(Cols.CanRemove(C));
C = new DataColumn();
C.Expression = "test1 + 2";
Cols.Add(C);
C = Cols["test2"];
Assert.False(Cols.CanRemove(C));
C = new DataColumn("t");
Table2.Columns.Add(C);
DataColumnCollection Cols2 = Table2.Columns;
Assert.True(Cols2.CanRemove(C));
DataSet Set = new DataSet();
Set.Tables.Add(Table);
Set.Tables.Add(Table2);
DataRelation Rel = new DataRelation("Rel", Table.Columns[0], Table2.Columns[0]);
Set.Relations.Add(Rel);
Assert.False(Cols2.CanRemove(C));
Assert.False(Cols.CanRemove(null));
}