public void SerializationWithSurrogate() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); CFormatter.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); SimpleObjectSurrogate obj = new SimpleObjectSurrogate(42, "BELLA RAGA", 3.1415); CFormatter.Serialize(stream, obj); stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); CFormatter2.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); SimpleObjectSurrogate obj2; obj2 = (SimpleObjectSurrogate)CFormatter2.Deserialize(stream); Console.WriteLine(obj.Real); stream.Close(); Assert.AreEqual(obj, obj2); }
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); }
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 TestArrayList() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); CFormatter.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); long start = DateTime.Now.Ticks; ArrayList s = new ArrayList(); s.Add(DateTime.Now); s.Add("Ciao Mondo"); s.Add(3.1415); Console.WriteLine( "Serializing and Deserializing {0} instances of type {1}", max, s.GetType().ToString() ); 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)); ArrayList temp = new ArrayList(); temp = (ArrayList)CFormatter2.Deserialize(stream); stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); for (int i = 0; i < temp.Count; i++) { Assert.AreEqual(temp[i], s[i]); } }
public void SerializePortableHash() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(CFormatterMode.SAFE); CFormatter.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); long start = DateTime.Now.Ticks; Hashtable s = new Hashtable(); s[1] = DateTime.Now; s[2] = "Ciao Mondo"; s[3] = 3.1415; Console.WriteLine( "Serializing and Deserializing {0} instances of type {1}", max, s.GetType().ToString() ); CFormatter.Serialize(stream, s); stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(CFormatterMode.SAFE); CFormatter2.AddSurrogate(typeof(Surrogate.DefaultSurrogates)); Hashtable temp = new Hashtable(); temp = (Hashtable)CFormatter2.Deserialize(stream); stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); for (int i = 0; i < temp.Count; i++) { Assert.AreEqual(temp[i], s[i]); } }