public void Add()
{
var Table = new DataTable("test_table");
DataColumnCollection cols = Table.Columns;
DataColumn c = null;
cols.Add();
cols.Add();
for (int i = 0; i < 2; i++)
{
c = cols[i];
Assert.True(c.AllowDBNull);
Assert.False(c.AutoIncrement);
Assert.Equal(0L, c.AutoIncrementSeed);
Assert.Equal(1L, c.AutoIncrementStep);
Assert.Equal($"Column{i + 1}", c.Caption);
Assert.Equal("Element", c.ColumnMapping.ToString());
Assert.Equal($"Column{i + 1}", c.ColumnName);
Assert.Null(c.Container);
Assert.Equal(typeof(string), c.DataType);
Assert.Equal(DBNull.Value, c.DefaultValue);
Assert.False(c.DesignMode);
Assert.Equal("", c.Expression);
Assert.Equal(0, c.ExtendedProperties.Count);
Assert.Equal(-1, c.MaxLength);
Assert.Equal("", c.Namespace);
Assert.Equal(i, c.Ordinal);
Assert.Equal("", c.Prefix);
Assert.False(c.ReadOnly);
Assert.Null(c.Site);
Assert.Equal("test_table", c.Table.TableName);
Assert.Equal($"Column{i + 1}", c.ToString());
Assert.False(c.Unique);
}
cols.Add("test1", typeof(int), "");
cols.Add("test2", typeof(string), "Column1 + Column2");
c = cols[2];
Assert.True(c.AllowDBNull);
Assert.False(c.AutoIncrement);
Assert.Equal(0L, c.AutoIncrementSeed);
Assert.Equal(1L, c.AutoIncrementStep);
Assert.Equal("test1", c.Caption);
Assert.Equal("Element", c.ColumnMapping.ToString());
Assert.Equal("test1", c.ColumnName);
Assert.Null(c.Container);
Assert.Equal(typeof(int), c.DataType);
Assert.Equal(DBNull.Value, c.DefaultValue);
Assert.False(c.DesignMode);
Assert.Equal("", c.Expression);
Assert.Equal(0, c.ExtendedProperties.Count);
Assert.Equal(-1, c.MaxLength);
Assert.Equal("", c.Namespace);
Assert.Equal(2, c.Ordinal);
Assert.Equal("", c.Prefix);
Assert.False(c.ReadOnly);
Assert.Null(c.Site);
Assert.Equal("test_table", c.Table.TableName);
Assert.Equal("test1", c.ToString());
Assert.False(c.Unique);
c = cols[3];
Assert.True(c.AllowDBNull);
Assert.False(c.AutoIncrement);
Assert.Equal(0L, c.AutoIncrementSeed);
Assert.Equal(1L, c.AutoIncrementStep);
Assert.Equal("test2", c.Caption);
Assert.Equal("Element", c.ColumnMapping.ToString());
Assert.Equal("test2", c.ColumnName);
Assert.Null(c.Container);
Assert.Equal(typeof(string), c.DataType);
Assert.Equal(DBNull.Value, c.DefaultValue);
Assert.False(c.DesignMode);
Assert.Equal("Column1 + Column2", c.Expression);
Assert.Equal(0, c.ExtendedProperties.Count);
Assert.Equal(-1, c.MaxLength);
Assert.Equal("", c.Namespace);
Assert.Equal(3, c.Ordinal);
Assert.Equal("", c.Prefix);
Assert.True(c.ReadOnly);
Assert.Null(c.Site);
Assert.Equal("test_table", c.Table.TableName);
Assert.Equal("test2 + Column1 + Column2", c.ToString());
Assert.False(c.Unique);
c = new DataColumn("test3", typeof(int));
cols.Add(c);
c = cols[4];
Assert.True(c.AllowDBNull);
Assert.False(c.AutoIncrement);
Assert.Equal(0L, c.AutoIncrementSeed);
Assert.Equal(1L, c.AutoIncrementStep);
Assert.Equal("test3", c.Caption);
Assert.Equal("Element", c.ColumnMapping.ToString());
Assert.Equal("test3", c.ColumnName);
Assert.Null(c.Container);
Assert.Equal(typeof(int), c.DataType);
Assert.Equal(DBNull.Value, c.DefaultValue);
Assert.False(c.DesignMode);
Assert.Equal("", c.Expression);
Assert.Equal(0, c.ExtendedProperties.Count);
Assert.Equal(-1, c.MaxLength);
Assert.Equal("", c.Namespace);
Assert.Equal(4, c.Ordinal);
Assert.Equal("", c.Prefix);
Assert.False(c.ReadOnly);
Assert.Null(c.Site);
Assert.Equal("test_table", c.Table.TableName);
Assert.Equal("test3", c.ToString());
Assert.False(c.Unique);
}