public void ReadXmlSchema()
{
DataTable Table = new DataTable();
Table.ReadXmlSchema(new StringReader(DataProvider.own_schema1));
Assert.Equal("test_table", Table.TableName);
Assert.Equal("", Table.Namespace);
Assert.Equal(2, Table.Columns.Count);
Assert.Equal(0, Table.Rows.Count);
Assert.False(Table.CaseSensitive);
Assert.Equal(1, Table.Constraints.Count);
Assert.Equal("", Table.Prefix);
Constraint cons = Table.Constraints[0];
Assert.Equal("Constraint1", cons.ConstraintName.ToString());
Assert.Equal("Constraint1", cons.ToString());
DataColumn column = Table.Columns[0];
Assert.True(column.AllowDBNull);
Assert.False(column.AutoIncrement);
Assert.Equal(0L, column.AutoIncrementSeed);
Assert.Equal(1L, column.AutoIncrementStep);
Assert.Equal("test", column.Caption);
Assert.Equal("Element", column.ColumnMapping.ToString());
Assert.Equal("first", column.ColumnName);
Assert.Equal(typeof(string), column.DataType);
Assert.Equal("test_default_value", column.DefaultValue.ToString());
Assert.False(column.DesignMode);
Assert.Equal("", column.Expression);
Assert.Equal(100, column.MaxLength);
Assert.Equal("", column.Namespace);
Assert.Equal(0, column.Ordinal);
Assert.Equal("", column.Prefix);
Assert.False(column.ReadOnly);
Assert.True(column.Unique);
DataColumn column2 = Table.Columns[1];
Assert.True(column2.AllowDBNull);
Assert.False(column2.AutoIncrement);
Assert.Equal(0L, column2.AutoIncrementSeed);
Assert.Equal(1L, column2.AutoIncrementStep);
Assert.Equal("second", column2.Caption);
Assert.Equal("Element", column2.ColumnMapping.ToString());
Assert.Equal("second", column2.ColumnName);
Assert.Equal(typeof(SqlGuid), column2.DataType);
Assert.Equal(SqlGuid.Null, column2.DefaultValue);
Assert.Equal(typeof(SqlGuid), column2.DefaultValue.GetType());
Assert.False(column2.DesignMode);
Assert.Equal("", column2.Expression);
Assert.Equal(-1, column2.MaxLength);
Assert.Equal("", column2.Namespace);
Assert.Equal(1, column2.Ordinal);
Assert.Equal("", column2.Prefix);
Assert.False(column2.ReadOnly);
Assert.False(column2.Unique);
DataTable Table2 = new DataTable();
Table2.ReadXmlSchema(new StringReader(DataProvider.own_schema2));
Assert.Equal("second_test_table", Table2.TableName);
Assert.Equal("", Table2.Namespace);
Assert.Equal(1, Table2.Columns.Count);
Assert.Equal(0, Table2.Rows.Count);
Assert.False(Table2.CaseSensitive);
Assert.Equal(1, Table2.Constraints.Count);
Assert.Equal("", Table2.Prefix);
DataColumn column3 = Table2.Columns[0];
Assert.True(column3.AllowDBNull);
Assert.False(column3.AutoIncrement);
Assert.Equal(0L, column3.AutoIncrementSeed);
Assert.Equal(1L, column3.AutoIncrementStep);
Assert.Equal("second_first", column3.Caption);
Assert.Equal("Element", column3.ColumnMapping.ToString());
Assert.Equal("second_first", column3.ColumnName);
Assert.Equal(typeof(string), column3.DataType);
Assert.Equal("default_value", column3.DefaultValue.ToString());
Assert.False(column3.DesignMode);
Assert.Equal("", column3.Expression);
Assert.Equal(100, column3.MaxLength);
Assert.Equal("", column3.Namespace);
Assert.Equal(0, column3.Ordinal);
Assert.Equal("", column3.Prefix);
Assert.False(column3.ReadOnly);
Assert.True(column3.Unique);
}