public void SerializeAssembly() { CompactFormatter c = new CompactFormatter(CFormatterMode.NONE); if ((c.Mode & CFormatterMode.PORTABLE) != 0) { Console.WriteLine("Portable"); } throw new System.Exception("Not Implemented"); }
public void TestDeregisterNewParser() { CompactFormatter CFormatter = new CompactFormatter(); Interfaces.IStreamParser s = new JunkStreamParser(); Assert.AreEqual(0, CFormatter.RegisteredParsers.Length); CFormatter.RegisterStreamParser(s); Assert.AreEqual(1, CFormatter.RegisteredParsers.Length); CFormatter.DeregisterStreamParser(s); Assert.AreEqual(0, CFormatter.RegisteredParsers.Length); }
public void TestString() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; int s = 0; String[] s1 = new String[max]; s1[0] = s.ToString(); Console.WriteLine( "Serializing and Deserializing an array of type {1} composed by {0} elements", max, s1.GetType().ToString() ); for (int i = 1; i < max; i++) { //Console.WriteLine("Serialized {0}",s); s++; s1[i] = s.ToString(); } CFormatter.Serialize(stream, s1); stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); String[] temp = new String[max]; //for(int i = 0; i<max; i++) //{ temp = (String[])CFormatter2.Deserialize(stream); //} stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); s = 0; String s12 = s.ToString(); for (int i = 0; i < max; i++) { //Console.WriteLine("Deserialized {0}:{1}",temp[i],temp.Length); Assert.AreEqual(temp[i], s12); s++; s12 = s.ToString(); } }
public void Serialize(CompactFormatter parent, Stream serializationStream, object graph) { Hashtable hashtable = (Hashtable)graph; PrimitiveSerializer.Serialize(hashtable.Count, serializationStream); foreach (object key in (IEnumerable)hashtable.Keys) { object graph1 = hashtable[key]; parent.innerSerialize(serializationStream, key); parent.innerSerialize(serializationStream, graph1); } }
public void TestBoolean() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); Interfaces.IStreamParser str = new JunkStreamParser(); CFormatter.RegisterStreamParser(str); long start = DateTime.Now.Ticks; Boolean s = true; 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); //Console.WriteLine("Serialized {0}",s); s = !s; } stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); str = new JunkStreamParser(); CFormatter2.RegisterStreamParser(str); Boolean[] temp = new Boolean[max]; for (int i = 0; i < max; i++) { temp[i] = (Boolean)CFormatter2.Deserialize(stream); } stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); s = true; for (int i = 0; i < max; i++) { //Console.WriteLine("Deserialized {0}",temp[i]); Assert.AreEqual(temp[i], s); s = !s; } }
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 TestDateTime() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; DateTime s = DateTime.Now; // Considering that i can't recreate correct time without saving it // i use here an array to store serialized data. DateTime[] temp = new DateTime[max]; Console.WriteLine( "Serializing and Deserializing {0} instances of type {1}", max, s.GetType().ToString() ); for (int i = 0; i < max; i++) { temp[i] = s; CFormatter.Serialize(stream, s); //Console.WriteLine("Serialized {0}",s); s = DateTime.Now; } stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); DateTime[] temp2 = new DateTime[max]; for (int i = 0; i < max; i++) { temp2[i] = (DateTime)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 < max; i++) { //Console.WriteLine("Deserialized {0}",temp2[i]); Assert.AreEqual(temp[i], temp2[i]); } }
public void SerializeArrayTypes() { FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); String[] ArTesto = new String[10]; int[] ArNum = new int[10]; DateTime[] ArStamp = new DateTime[10]; ArTesto[0] = "Primo Elemento"; ArTesto[1] = "Secondo Elemento"; ArTesto[2] = "Terzo Elemento"; ArTesto[4] = "$$"; ArNum[0] = 1; ArNum[1] = 2; ArNum[5] = 6; ArStamp[0] = DateTime.Now; ArStamp[1] = DateTime.Now; ArStamp[3] = DateTime.Now; CS.Serialize(FS, ArTesto); CS.Serialize(FS, ArNum); CS.Serialize(FS, ArStamp); FS.Close(); FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { String[] ArTesto2 = (String[])CS.Deserialize(FS2); int[] ArNum2 = (int[])CS.Deserialize(FS2); DateTime[] ArStamp2 = (DateTime[])CS.Deserialize(FS2); for (int i = 0; i < ArTesto.Length; i++) { NUnit.Framework.Assertion.AssertEquals(ArTesto[i], ArTesto2[i]); } for (int i = 0; i < ArNum.Length; i++) { NUnit.Framework.Assertion.AssertEquals(ArNum[i], ArNum2[i]); } for (int i = 0; i < ArStamp.Length; i++) { NUnit.Framework.Assertion.AssertEquals(ArStamp[i], ArStamp2[i]); } } finally { FS2.Close(); } }
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 TestUInt64() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; UInt64[] s = new UInt64[max]; s[0] = 0; Console.WriteLine( "Serializing and Deserializing an array of type {1} composed by {0} elements", max, s.GetType().ToString() ); for (int i = 1; i < max; i++) { //Console.WriteLine("Serialized {0}",s); s[i] = s[i - 1] + 1; } CFormatter.Serialize(stream, s); stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); UInt64[] temp = new UInt64[max]; //for(int i = 0; i<max; i++) //{ temp = (UInt64[])CFormatter2.Deserialize(stream); //} stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); UInt64 s2 = 0; for (int i = 0; i < max; i++) { //Console.WriteLine("Deserialized {0}",temp[i]); Assert.AreEqual(temp[i], s2); s2++; } }
public void TestInt16() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; Int16[] s = new Int16[max]; s[0] = 0; Console.WriteLine( "Serializing and Deserializing {0} instances of type {1}", max, s.GetType().ToString() ); for (int i = 1; i < max; i++) { //Console.WriteLine("Serialized {0}",s); s[i] = (short)((s[i - 1] + 1) % 32000); } CFormatter.Serialize(stream, s); stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); Int16[] temp = new Int16[max]; //for(int i = 0; i<max; i++) //{ temp = (Int16[])CFormatter2.Deserialize(stream); //} stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); Int16 s2 = 0; for (int i = 0; i < max; i++) { //Console.WriteLine("Deserialized {0}",temp[i]); Assert.AreEqual(temp[i], s2); s2 = (short)((s2 + 1) % 32000); } }
public void Serialize(CompactFormatter parent, Stream serializationStream, object graph) { DataSet ds = (DataSet)graph; parent.Serialize(serializationStream, (object)ds.DataSetName); parent.Serialize(serializationStream, (object)ds.Namespace); parent.Serialize(serializationStream, (object)ds.Prefix); parent.Serialize(serializationStream, (object)ds.CaseSensitive); parent.Serialize(serializationStream, (object)ds.EnforceConstraints); parent.Serialize(serializationStream, (object)(DataTable[])new ArrayList((ICollection)ds.Tables).ToArray(typeof(DataTable))); parent.Serialize(serializationStream, (object)this.GetForeignKeyConstraints(ds)); parent.Serialize(serializationStream, (object)this.GetRelations(ds)); parent.Serialize(serializationStream, (object)new ArrayList(ds.ExtendedProperties.Keys)); parent.Serialize(serializationStream, (object)new ArrayList(ds.ExtendedProperties.Values)); }
public void TestEnumSerialization() { max = 1; FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; DummyEnum s = DummyEnum.SECOND; 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); //Console.WriteLine("Serialized {0}",s); s = (DummyEnum)((int)(s + 1) % 3); } stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); DummyEnum[] temp = new DummyEnum[max]; for (int i = 0; i < max; i++) { temp[i] = (DummyEnum)CFormatter2.Deserialize(stream); } stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); s = DummyEnum.SECOND; for (int i = 0; i < max; i++) { //Console.WriteLine("Deserialized {0}",temp[i]); Assert.AreEqual(temp[i], s); s = (DummyEnum)((int)(s + 1) % 3); } }
public void ObjectTest() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); SelfReferencingObject[] s = new SelfReferencingObject[max]; for (int i = 0; i < max; i++) { s[i] = new SelfReferencingObject(i); } Console.WriteLine( "Serializing and Deserializing {0} instances of type {1}", max, s.GetType().ToString() ); long start = DateTime.Now.Ticks; for (int i = 0; i < max; i++) { CFormatter.Serialize(stream, s[i]); } stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); SelfReferencingObject[] temp = new SelfReferencingObject[max]; for (int i = 0; i < max; i++) { temp[i] = (SelfReferencingObject)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 < max; i++) { //Console.WriteLine("Deserialized {0}",temp[i]); Assert.AreEqual(temp[i], s[i]); } }
public void TestSingle() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; int max = 15; Single s = 12.7F; 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); //Console.WriteLine("Serialized {0}",s); s++; } stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); Single[] temp = new Single[max]; for (int i = 0; i < max; i++) { temp[i] = (Single)CFormatter2.Deserialize(stream); } stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); s = 12.7F; for (int i = 0; i < max; i++) { //Console.WriteLine("Deserialized {0}",temp[i]); Assert.AreEqual(temp[i], s); s++; } }
public void TestChar() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; Char[] s = new Char[max]; s[0] = 'a'; Console.WriteLine( "Serializing and Deserializing an array of type {1} composed by {0} elements", max, s.GetType().ToString() ); for (int i = 1; i < max; i++) { //Console.WriteLine("Serialized {0}",s[i-1]); s[i] = ((char)((s[i - 1] + 1) % (32768))); } CFormatter.Serialize(stream, s); stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); Char[] temp = new Char[max]; temp = (Char[])CFormatter2.Deserialize(stream); stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); Char s2 = 'a'; for (int i = 0; i < max; i++) { //Console.WriteLine("{0}={1}",temp.Length,s2); Assert.AreEqual(s2, temp[i]); s2 = ((Char)((s2 + 1) % 32768)); } }
public void TestBoolean() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); long start = DateTime.Now.Ticks; Boolean[] s = new Boolean[max]; Console.WriteLine( "Serializing and Deserializing an array of type {1} composed by {0} elements", max, s.GetType().ToString() ); s[0] = true; for (int i = 1; i < max; i++) { s[i] = !s[i - 1]; } CFormatter.Serialize(stream, s); stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); Boolean[] temp = new Boolean[max]; temp = (Boolean[])CFormatter2.Deserialize(stream); stream.Close(); long stop = DateTime.Now.Ticks; long ts = stop - start; Console.WriteLine("Elapsed Time:{0},{1},{2}", ts, start, stop); Boolean s2 = true; for (int i = 0; i < max; i++) { Assert.AreEqual(temp[i], s2); s2 = !s2; } }
public object Deserialize(CompactFormatter parent, Stream serializationStream) { Hashtable hashtable = new Hashtable(); if (PrimitiveSerializer.DeserializeByte(serializationStream) != (byte)8) { throw new System.Exception("was expecting INT32 in stream"); } int num = PrimitiveSerializer.DeserializeInt32(serializationStream); for (int index1 = 0; index1 < num; ++index1) { object index2 = parent.innerDeserialize(serializationStream); object obj = parent.innerDeserialize(serializationStream); hashtable[index2] = obj; } return((object)hashtable); }
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]); } }
public void Serialize(CompactFormatter parent, Stream serializationStream, object graph) { ArrayList arrayList1 = new ArrayList(); ArrayList arrayList2 = new ArrayList(); ArrayList arrayList3 = new ArrayList(); DataTable dataTable = (DataTable)graph; foreach (DataColumn column in (InternalDataCollectionBase)dataTable.Columns) { arrayList1.Add((object)column.ColumnName); arrayList2.Add((object)TypeExtensions.FullName(column.DataType)); } foreach (DataRow row in (InternalDataCollectionBase)dataTable.Rows) { arrayList3.Add((object)row.ItemArray); } parent.Serialize(serializationStream, (object)arrayList1); parent.Serialize(serializationStream, (object)arrayList2); parent.Serialize(serializationStream, (object)arrayList3); }
public object Deserialize(CompactFormatter parent, Stream serializationStream) { ArrayList arrayList1 = (ArrayList)parent.Deserialize(serializationStream); ArrayList arrayList2 = (ArrayList)parent.Deserialize(serializationStream); ArrayList arrayList3 = (ArrayList)parent.Deserialize(serializationStream); DataTable dataTable = new DataTable(); for (int index = 0; index < arrayList1.Count; ++index) { DataColumn column = new DataColumn(arrayList1[index].ToString(), Type.GetType(arrayList2[index].ToString())); dataTable.Columns.Add(column); } for (int index = 0; index < arrayList3.Count; ++index) { DataRow row = dataTable.NewRow(); row.ItemArray = (object[])arrayList3[index]; dataTable.Rows.Add(row); } dataTable.AcceptChanges(); return((object)dataTable); }
public void Serialize(CompactFormatter parent, System.IO.Stream serializationStream, object graph) { DataSet ds = (DataSet)graph; parent.Serialize(serializationStream, ds.DataSetName); parent.Serialize(serializationStream, ds.Namespace); parent.Serialize(serializationStream, ds.Prefix); parent.Serialize(serializationStream, ds.CaseSensitive); //parent.Serialize(serializationStream,ds.Locale); parent.Serialize(serializationStream, ds.EnforceConstraints); parent.Serialize(serializationStream, (DataTable[])new ArrayList(ds.Tables).ToArray(typeof(DataTable))); //ForeignKeyConstraints parent.Serialize(serializationStream, GetForeignKeyConstraints(ds)); //Relations parent.Serialize(serializationStream, GetRelations(ds)); //ExtendedProperties parent.Serialize(serializationStream, new ArrayList(ds.ExtendedProperties.Keys)); parent.Serialize(serializationStream, new ArrayList(ds.ExtendedProperties.Values)); }
public void SerializeWithPortable() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(CFormatterMode.PORTABLE | CFormatterMode.SAFE); SimpleObject obj = new SimpleObject(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(CFormatterMode.PORTABLE | CFormatterMode.SAFE); SimpleObject obj2 = new SimpleObject(); obj2 = (SimpleObject)CFormatter2.Deserialize(stream); Console.WriteLine(obj.Real); stream.Close(); Assert.AreEqual(obj, obj2); }
public void NotSerializedPortable() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(CFormatterMode.PORTABLE | CFormatterMode.SAFE); NotSerializedObject obj = new NotSerializedObject(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(CFormatterMode.PORTABLE | CFormatterMode.SAFE); NotSerializedObject obj2 = new NotSerializedObject(); obj2 = (NotSerializedObject)CFormatter2.Deserialize(stream); stream.Close(); Assert.AreEqual(0, obj2.Number); Assert.AreEqual(42, obj.Number); }
public void SerializationTest() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(CFormatterMode.NONE); UnsafeObject obj = new UnsafeObject(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(CFormatterMode.NONE); UnsafeObject obj2 = new UnsafeObject(); obj2 = (UnsafeObject)CFormatter2.Deserialize(stream); Console.WriteLine(obj.Number); stream.Close(); Assert.AreEqual(obj, obj2); }
public object Deserialize(CompactFormatter parent, System.IO.Stream serializationStream) { DataSet ds = new DataSet((String)parent.Deserialize(serializationStream)); ds.Namespace = (String)parent.Deserialize(serializationStream); ds.Prefix = (String)parent.Deserialize(serializationStream); ds.CaseSensitive = (bool)parent.Deserialize(serializationStream); //parent.Serialize(serializationStream,ds.Locale); ds.EnforceConstraints = (bool)parent.Deserialize(serializationStream); DataTable[] datatables = (DataTable[])parent.Deserialize(serializationStream); for (int i = 0; i < datatables.Length; i++) { ds.Tables.Add(datatables[i]); } //ForeignKeyConstraints ArrayList Constraints = (ArrayList)parent.Deserialize(serializationStream); SetForeignKeyConstraints(ds, Constraints); //Relations ArrayList Relations = (ArrayList)parent.Deserialize(serializationStream); SetRelations(ds, Relations); //ExtendedProperties ArrayList keys = (ArrayList)parent.Deserialize(serializationStream); ArrayList values = (ArrayList)parent.Deserialize(serializationStream); for (int i = 0; i < keys.Count; i++) { ds.ExtendedProperties.Add(keys[i], values[i]); } return(ds); }
public void SerializeComplexCustomType() { CompactFormatter CS = new CompactFormatter(); ComplexType complex = new ComplexType(42, 3.1415, "Compact Framework"); FileStream FS = new FileStream("Test.bin", FileMode.Create); try { CS.Serialize(FS, complex); } finally{ FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { ComplexType complex2 = (ComplexType)CS.Deserialize(FS2); NUnit.Framework.Assertion.AssertEquals(complex, complex2); } finally{ FS2.Close(); } }
public void Serialize(CompactFormatter parent, System.IO.Stream serializationStream, object graph) { ArrayList colNames = new ArrayList(); ArrayList colTypes = new ArrayList(); ArrayList dataRows = new ArrayList(); DataTable dt = (DataTable)graph; foreach (DataColumn col in dt.Columns) { colNames.Add(col.ColumnName); colTypes.Add(col.DataType.FullName); } foreach (DataRow row in dt.Rows) { dataRows.Add(row.ItemArray); } // Now i've to serialize three ArrayList using the CompactFormatter main routines parent.Serialize(serializationStream, colNames); parent.Serialize(serializationStream, colTypes); parent.Serialize(serializationStream, dataRows); }
public void Serialize(CompactFormatter parent, Stream serializationStream, object graph) { PrimitiveSerializer.Serialize(((IntPtr)graph).ToInt32(), serializationStream); }