public void DeserializeModifiedDataSet()
{
// Serialization begins
DataSet prevDs = new DataSet();
DataTable dt = prevDs.Tables.Add();
dt.Columns.Add(new DataColumn("Id", typeof(string)));
DataRow dr = dt.NewRow();
dr[0] = "a";
dt.Rows.Add(dr);
prevDs.AcceptChanges();
dr = prevDs.Tables[0].Rows[0];
dr[0] = "b";
XmlSerializer serializer = new XmlSerializer(typeof(DataSet));
StringWriter sw = new StringWriter();
XmlTextWriter xw = new XmlTextWriter(sw);
xw.QuoteChar = '\'';
serializer.Serialize(xw, prevDs);
// Deserialization begins
StringReader sr = new StringReader(sw.ToString());
XmlTextReader reader = new XmlTextReader(sr);
XmlSerializer serializer1 = new XmlSerializer(typeof(DataSet));
DataSet ds = serializer1.Deserialize(reader) as DataSet;
Assert.Equal(
prevDs.Tables[0].Rows[0][0, DataRowVersion.Original].ToString(),
ds.Tables[0].Rows[0][0, DataRowVersion.Original].ToString());
Assert.Equal(
prevDs.Tables[0].Rows[0][0, DataRowVersion.Current].ToString(),
ds.Tables[0].Rows[0][0, DataRowVersion.Current].ToString());
}