public void TestSerializeDataSet()
{
DataSet ds = new DataSet("DataSet");
//Table 1
ds.Tables.Add(new DataTable("Table"));
ds.Tables[0].Columns.Add("col1", typeof(int));
ds.Tables[0].Columns.Add("col2", typeof(int));
DataRow dr = ds.Tables[0].NewRow();
dr["col1"] = 1;
dr["col2"] = 2;
ds.Tables[0].Rows.Add(dr);
//Table 2
ds.Tables.Add(new DataTable("Table1"));
ds.Tables[1].Columns.Add("col1_col1", typeof(int));
ds.Tables[1].Columns.Add("col2", typeof(int));
dr = ds.Tables[1].NewRow();
dr["col1_col1"] = 1;
ds.Tables[1].Rows.Add(dr);
ds.Relations.Add(new DataRelation("table_table1", ds.Tables[0].Columns[0], ds.Tables[1].Columns[0], true));
ds.AcceptChanges();
string actualXml = XmlSerializationHelper.SerializeDataTable(ds.Tables[0], true);
string expectedXml = "<DataSet><Table><col1>1</col1><col2>2</col2></Table><Table1><col1_col1>1</col1_col1></Table1></DataSet>";
Trace.Write(actualXml);
Assert.AreEqual(actualXml, expectedXml);
}