public void ReadWriteXmlSchema_ByFileName()
{
string sTempFileName1 = Path.Combine(Path.GetTempPath(), "tmpDataSet_ReadWriteXml_43899-1.xml");
string sTempFileName2 = Path.Combine(Path.GetTempPath(), "tmpDataSet_ReadWriteXml_43899-2.xml");
DataSet ds1 = new DataSet();
ds1.Tables.Add(DataProvider.CreateParentDataTable());
ds1.Tables.Add(DataProvider.CreateChildDataTable());
ds1.Tables[0].WriteXmlSchema(sTempFileName1);
ds1.Tables[1].WriteXmlSchema(sTempFileName2);
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
dt1.ReadXmlSchema(sTempFileName1);
dt2.ReadXmlSchema(sTempFileName2);
Assert.Equal(ds1.Tables[0].Columns.Count, dt1.Columns.Count);
Assert.Equal(ds1.Tables[1].Columns.Count, dt2.Columns.Count);
Assert.Equal(ds1.Tables[0].Columns[0].GetType(), dt1.Columns[0].GetType());
Assert.Equal(ds1.Tables[1].Columns[3].GetType(), dt2.Columns[3].GetType());
Assert.Equal(0, dt1.Rows.Count);
Assert.Equal(0, dt2.Rows.Count);
File.Delete(sTempFileName1);
File.Delete(sTempFileName2);
}