Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVeerapuram Varadhan <v.varadhan@gmail.com>2009-09-27 01:01:10 +0400
committerVeerapuram Varadhan <v.varadhan@gmail.com>2009-09-27 01:01:10 +0400
commit8b8d58705b4db1e1365ce4927148db2cccb7c211 (patch)
tree9fdff4a36a3824ea105d35465787abb41c4ae7e9 /mcs/class/System.Data/Test
parentc5cbb9cb4b612174b1f40760190c8f34cb3560d4 (diff)
backport of r142668
svn path=/branches/mono-2-6/mcs/; revision=142688
Diffstat (limited to 'mcs/class/System.Data/Test')
-rw-r--r--mcs/class/System.Data/Test/System.Data/ChangeLog7
-rw-r--r--mcs/class/System.Data/Test/System.Data/DataSetTypedDataSetTest.cs52
2 files changed, 58 insertions, 1 deletions
diff --git a/mcs/class/System.Data/Test/System.Data/ChangeLog b/mcs/class/System.Data/Test/System.Data/ChangeLog
index 56c256e7129..d96346d1d9b 100644
--- a/mcs/class/System.Data/Test/System.Data/ChangeLog
+++ b/mcs/class/System.Data/Test/System.Data/ChangeLog
@@ -1,6 +1,11 @@
+2009-09-26 Veerapuram Varadhan <vvaradhan@novell.com>
+
+ * DataSetTypedDataSet.cs: Test for #427769. Patch by
+ John Lenz <jlenz2@math.uiuc.edu>.
+
2009-09-24 Veerapuram Varadhan <vvaradhan@novell.com>
- * DataSetTest2.cs (MergeTest_SameDataSet_536194): Added new.
+ * DataSetTest2.cs (MergeTest_SameDataSet_536194): Added new.
2009-01-16 Atsushi Enomoto <atsushi@ximian.com>
diff --git a/mcs/class/System.Data/Test/System.Data/DataSetTypedDataSetTest.cs b/mcs/class/System.Data/Test/System.Data/DataSetTypedDataSetTest.cs
index b10faba3034..72cbc19e776 100644
--- a/mcs/class/System.Data/Test/System.Data/DataSetTypedDataSetTest.cs
+++ b/mcs/class/System.Data/Test/System.Data/DataSetTypedDataSetTest.cs
@@ -196,6 +196,58 @@ namespace MonoTests.System.Data
myTypedDataSet.Order_DetailsRow[] drArr1 = ds.Orders[0].GetOrder_DetailsRows();
DataRow[] drArr2 = ds.Orders[0].GetChildRows(ds.Relations[0]);
Assert.AreEqual(drArr1 ,drArr2,"TDS25");
+
+#if NET_2_0
+ //now test serialization of a typed dataset generated by microsoft's xsd.exe
+ DataSet1 ds1 = new DataSet1();
+ ds1.DataTable1.AddDataTable1Row("test");
+ ds1.DataTable1.AddDataTable1Row("test2");
+
+ global::System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter =
+ new global::System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
+ MemoryStream stream = new MemoryStream();
+
+ formatter.Serialize(stream, ds1);
+
+ stream.Seek(0, SeekOrigin.Begin);
+
+ DataSet1 ds1load = (DataSet1) formatter.Deserialize(stream);
+
+ Assert.IsTrue(ds1load.Tables.Contains("DataTable1"));
+ Assert.AreEqual("DataTable1DataTable", ds1load.Tables["DataTable1"].GetType().Name);
+ Assert.AreEqual(2, ds1load.DataTable1.Rows.Count);
+ Assert.AreEqual("DataTable1Row", ds1load.DataTable1[0].GetType().Name);
+ if (ds1load.DataTable1[0].Column1 == "test") {
+ Assert.AreEqual("test2", ds1load.DataTable1[1].Column1);
+ } else if (ds1load.DataTable1[0].Column1 == "test2") {
+ Assert.AreEqual("test", ds1load.DataTable1[1].Column1);
+ } else {
+ Assert.Fail("Invalid entry for Column1");
+ }
+
+ //now test when the mode is exclude schema
+ ds1.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.ExcludeSchema;
+
+ stream = new MemoryStream();
+
+ formatter.Serialize(stream, ds1);
+
+ stream.Seek(0, SeekOrigin.Begin);
+
+ ds1load = (DataSet1) formatter.Deserialize(stream);
+
+ Assert.IsTrue(ds1load.Tables.Contains("DataTable1"));
+ Assert.AreEqual("DataTable1DataTable", ds1load.Tables["DataTable1"].GetType().Name);
+ Assert.AreEqual(2, ds1load.DataTable1.Rows.Count);
+ Assert.AreEqual("DataTable1Row", ds1load.DataTable1[0].GetType().Name);
+ if (ds1load.DataTable1[0].Column1 == "test") {
+ Assert.AreEqual("test2", ds1load.DataTable1[1].Column1);
+ } else if (ds1load.DataTable1[0].Column1 == "test2") {
+ Assert.AreEqual("test", ds1load.DataTable1[1].Column1);
+ } else {
+ Assert.Fail("Invalid entry for Column1");
+ }
+#endif
}
protected void T_Changing(object sender, myTypedDataSet.OrdersRowChangeEvent e)