public void TestDataSet() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); CFormatter.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); Surrogate.GhostDataTableOverrider over = new Surrogate.GhostDataTableOverrider(); CFormatter.AddOverrider(typeof(Surrogate.DataSetOverrider)); CFormatter.AddOverrider(typeof(Surrogate.GhostDataTableOverrider)); /*long start = DateTime.Now.Ticks; * * DataSet s = new DataSet(); * s.ReadXml("dataset.xml"); * * Console.WriteLine( * "Serializing and Deserializing {0} instances of type {1}", * max,s.GetType().ToString() * ); * * //for(int i = 0; i<max; i++) * //{ * CFormatter.Serialize(stream, s); * //} * stream.Flush(); * stream.Close(); * * stream = new FileStream("Prova.bin",System.IO.FileMode.Open); * CompactFormatter CFormatter2 = new CompactFormatter(); * CFormatter2.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); * CFormatter2.AddOverrider(typeof(Surrogate.GhostDataTableOverrider)); * CFormatter2.AddOverrider(typeof(Surrogate.DataSetOverrider)); * Console.WriteLine("Deserializing..."); * * DataSet temp; * //for(int i = 0; i<max; i++) * //{ * temp = (DataSet)CFormatter2.Deserialize(stream); * //} * stream.Close(); * * long stop = DateTime.Now.Ticks; * long ts = stop-start; * * Console.WriteLine("Elapsed Time:{0},{1},{2}",ts,start,stop); * * temp.WriteXml("prova.xml"); * Assert.AreEqual(s,temp);*/ }
public void SerializeOneWithOverrider() { CompactFormatter CF = new CompactFormatter(); CF.AddOverrider(typeof(OverriderClass)); FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); ObjectWithOverrider ser = new ObjectWithOverrider(42, 3.1415F, "Ciao Mondo!"); CF.Serialize(stream, ser); stream.Flush(); stream.Close(); CF = new CompactFormatter(); CF.AddOverrider(typeof(OverriderClass)); FileStream stream2 = new FileStream("Prova.bin", System.IO.FileMode.Open); ObjectWithOverrider ser2 = (ObjectWithOverrider) CF.Deserialize(stream2); Assert.AreEqual(42, ser2.A); Assert.AreEqual(3.1415, ser2.F); Assert.AreEqual("Ciao Mondo!", ser2.S); stream2.Close(); }
public void TestGhostDataTable() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); CFormatter.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); CFormatter.AddOverrider(typeof(Surrogate.GhostDataTableOverrider)); long start = DateTime.Now.Ticks; DataTable s = new DataTable(); s.Columns.Add("Col1"); s.Columns.Add("Col2"); s.Rows.Add(new Object[] { 13, 14 }); Console.WriteLine( "Serializing and Deserializing {0} instances of type {1}", max, s.GetType().ToString() ); //for(int i = 0; i<max; i++) //{ CFormatter.Serialize(stream, s); //} stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); CFormatter2.AddOverrider(typeof(Surrogate.GhostDataTableOverrider)); CFormatter2.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); DataTable temp; //for(int i = 0; i<max; i++) //{ temp = (DataTable)CFormatter2.Deserialize(stream); //} stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); Assert.AreEqual(13, Int32.Parse((String)s.Rows[0]["Col1"])); Assert.AreEqual(temp.Rows.Count, s.Rows.Count); }