public void WriteNestedTableXml()
{
string xml = @"<NewDataSet>
<tab1>
<ident>1</ident>
<name>hoge</name>
<tab2>
<timestamp>2004-05-05</timestamp>
</tab2>
</tab1>
<tab1>
<ident>2</ident>
<name>fuga</name>
<tab2>
<timestamp>2004-05-06</timestamp>
</tab2>
</tab1>
</NewDataSet>";
var ds = new DataSet();
DataTable dt = new DataTable("tab1");
dt.Columns.Add("ident");
dt.Columns.Add("name");
dt.Rows.Add(new object[] { "1", "hoge" });
dt.Rows.Add(new object[] { "2", "fuga" });
DataTable dt2 = new DataTable("tab2");
dt2.Columns.Add("idref");
dt2.Columns[0].ColumnMapping = MappingType.Hidden;
dt2.Columns.Add("timestamp");
dt2.Rows.Add(new object[] { "1", "2004-05-05" });
dt2.Rows.Add(new object[] { "2", "2004-05-06" });
ds.Tables.Add(dt);
ds.Tables.Add(dt2);
DataRelation rel = new DataRelation("rel", dt.Columns[0], dt2.Columns[0]);
rel.Nested = true;
ds.Relations.Add(rel);
StringWriter sw = new StringWriter();
ds.WriteXml(sw);
Assert.Equal(sw.ToString().Replace("\r\n", "\n"), xml.Replace("\r\n", "\n"));
}