public void Copy()
{
DataSet ds = new DataSet(), dsTarget = null;
ds.Tables.Add(DataProvider.CreateParentDataTable());
ds.Tables.Add(DataProvider.CreateChildDataTable());
ds.Relations.Add(new DataRelation("myRelation", ds.Tables[0].Columns[0], ds.Tables[1].Columns[0]));
ds.Tables[0].Rows.Add(new object[] { 9, "", "" });
ds.Tables[1].Columns[2].ReadOnly = true;
ds.Tables[0].PrimaryKey = new DataColumn[] { ds.Tables[0].Columns[0], ds.Tables[0].Columns[1] };
//copy data and schema
// Copy 1
dsTarget = ds.Copy();
//Assert.Equal(ds.GetXmlSchema(), dsTarget.GetXmlSchema() );
//using my function because GetXmlSchema in not implemented in java
Assert.Equal(DataProvider.GetDSSchema(ds), DataProvider.GetDSSchema(dsTarget));
// Copy 2
Assert.Equal(true, dsTarget.GetXml() == ds.GetXml());
}