mono/mono-2.0-BinarySerialization.patch
2008-10-02 23:53:05 +00:00

63 lines
2.0 KiB
Diff

--- trunk/mcs/class/System.Data/Test/System.Data/BinarySerializationTest.cs 2008/09/16 12:52:47 113147
+++ trunk/mcs/class/System.Data/Test/System.Data/BinarySerializationTest.cs 2008/09/16 12:53:08 113148
@@ -172,6 +172,59 @@
dt.Rows[0].RejectChanges();
dt.Rows[1].RejectChanges();
}
+
+ [Test]
+ public void TestDefaultValues ()
+ {
+ //Serialize Table
+ DataTable tb1 = new DataTable ();
+ tb1.Columns.Add ("id", typeof (int));
+ tb1.Columns.Add ("Date", typeof (string));
+ tb1.Columns["id"].DefaultValue = 10;
+ tb1.Columns["Date"].DefaultValue = "9/15/2008";
+ tb1.Rows.Add (tb1.NewRow());
+
+ MemoryStream ms = new MemoryStream ();
+ BinaryFormatter bf = new BinaryFormatter ();
+ tb1.RemotingFormat = SerializationFormat.Binary;
+ bf.Serialize (ms,tb1);
+ byte [] serializedStream = ms.ToArray ();
+ ms.Close ();
+ //DserializeTable
+ ms = new MemoryStream (serializedStream);
+ DataTable dt = (DataTable)bf.Deserialize (ms);
+ ms.Close ();
+
+ //Table Data
+ for (int i = 0; i < tb1.Rows.Count; i++)
+ for (int j = 0; j < tb1.Columns.Count; j++) {
+ Assert.AreEqual (tb1.Columns[j].DefaultValue, dt.Rows [i][j], "#1 Element differs from DefaultValue at Row :{0} Column :{1}", i, j);
+ Assert.AreEqual (tb1.Rows [i][j], dt.Rows [i][j], "#2 Elements differ at Row :{0} Column :{1}", i, j);
+ }
+ }
+
+ [Test]
+ public void TestEmptyTable ()
+ {
+ //Serialize Table
+ DataTable tb1 = new DataTable ();
+ tb1.Columns.Add ("id", typeof (int));
+ tb1.Columns.Add ("Date", typeof (string));
+
+ MemoryStream ms = new MemoryStream ();
+ BinaryFormatter bf = new BinaryFormatter ();
+ tb1.RemotingFormat = SerializationFormat.Binary;
+ bf.Serialize (ms,tb1);
+ byte [] serializedStream = ms.ToArray ();
+ ms.Close ();
+ //DserializeTable
+ ms = new MemoryStream (serializedStream);
+ DataTable dt = (DataTable)bf.Deserialize (ms);
+ ms.Close ();
+
+ Assert.AreEqual(tb1.Rows.Count, dt.Rows.Count);
+ }
+
[Test]
public void Test_With_Null_Values1 ()
{