public void SerializeBaseTypes() { FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); int number = 42; double fnumber = 3.1415; string name = "CompactFormatter"; try { CS.Serialize(FS, number); CS.Serialize(FS, fnumber); CS.Serialize(FS, name); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { int number2 = (int)CS.Deserialize(FS2); double fnumber2 = (double)CS.Deserialize(FS2); string name2 = (string)CS.Deserialize(FS2); FS2.Close(); NUnit.Framework.Assertion.AssertEquals(number, number2); NUnit.Framework.Assertion.AssertEquals(fnumber, fnumber2); NUnit.Framework.Assertion.AssertEquals(name, name2); } finally { FS2.Close(); } }
public void SerializeComplexTypes() { FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); ArrayList AR = new ArrayList(); AR.Add("Primo Elemento"); AR.Add("Secondo Elemento"); AR.Add("Terzo Elemento"); DateTime stamp = DateTime.Now; Type type = typeof(System.Exception); try { CS.Serialize(FS, AR); CS.Serialize(FS, stamp); CS.Serialize(FS, type); } finally{ FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try{ ArrayList AR2 = (ArrayList)CS.Deserialize(FS2); DateTime stamp2 = (DateTime)CS.Deserialize(FS2); Type type2 = (Type)CS.Deserialize(FS2); NUnit.Framework.Assertion.AssertEquals(stamp, stamp2); for (int i = 0; i < AR.Count; i++) { NUnit.Framework.Assertion.AssertEquals(AR[i], AR2[i]); } NUnit.Framework.Assertion.AssertEquals(type, type2); } finally{ FS2.Close(); } }
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 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 TestObject() { int max = 42; FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); SimpleObject[] obj = new SimpleObject[max]; for (int i = 0; i < max; i++) { obj[i] = 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(); SimpleObject[] obj2 = (SimpleObject[])CFormatter2.Deserialize(stream); stream.Close(); Assert.AreEqual(obj, obj2); }
public void SerializeSelfReferencingTypes() { FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); SelfReferencingItem SRI = new SelfReferencingItem(12); try { CS.Serialize(FS, SRI); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { SelfReferencingItem SRI2 = (SelfReferencingItem)CS.Deserialize(FS2); FS2.Close(); NUnit.Framework.Assertion.AssertEquals(SRI, SRI2); } finally { FS2.Close(); } }
public void TestCustomSerialization() { CompactFormatter CF = new CompactFormatter(); FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CustomSerializableObject ser = new CustomSerializableObject(42, 3.1415F, "Ciao Mondo!"); CF.Serialize(stream, ser); stream.Flush(); stream.Close(); CF = new CompactFormatter(); FileStream stream2 = new FileStream("Prova.bin", System.IO.FileMode.Open); CustomSerializableObject ser2 = (CustomSerializableObject) CF.Deserialize(stream2); Assert.AreEqual(42, ser2.A); Assert.AreEqual(3.1415, ser2.F); Assert.AreEqual("Ciao Mondo!", ser2.S); stream2.Close(); }
public void SerializeAttributeTypes() { FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); AttributeType obj = new AttributeType("TCP", 1.0F); try { CS.Serialize(FS, obj); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { AttributeType obj2 = (AttributeType)CS.Deserialize(FS2); FS2.Close(); NUnit.Framework.Assertion.AssertEquals(obj2, obj); } finally { FS2.Close(); } }
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 SerializeNotSerializable() { CompactFormatter CS = new CompactFormatter(); NotSerializableType NST = new NotSerializableType(42, 3.1415, "CompactFormatter"); FileStream FS = new FileStream("Test.bin", FileMode.Create); try { CS.Serialize(FS, NST); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { NotSerializableType NST2 = (NotSerializableType)CS.Deserialize(FS2); NUnit.Framework.Assertion.AssertEquals("Expected default value 0 for the NonSerializable field number, found" + NST2.number, NST2.number, 0); NUnit.Framework.Assertion.AssertEquals("Expected serialized value of 3.1415 for the Serializable field dnumber, found:" + NST2.dnumber, NST2.dnumber, 3.1415); } finally { FS2.Close(); } }
public void SerializeStruct() { CompactFormatter CS = new CompactFormatter(); StructType str = new StructType(2, 4, 3.14F, "TestStruct"); FileStream FS = new FileStream("Test.bin", FileMode.Create); try { CS.Serialize(FS, str); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { StructType str2 = (StructType)CS.Deserialize(FS2); NUnit.Framework.Assertion.AssertEquals(str, str2); } finally { FS2.Close(); } }
public void SerializeDataSetType() { DataSetType DST = new DataSetType(); FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); try { CS.Serialize(FS, DST.DSet); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { DataSet DSet2 = (DataSet)CS.Deserialize(FS2); FS2.Close(); NUnit.Framework.Assertion.AssertEquals(DST.DSet, DSet2); } finally { FS2.Close(); } }
public void SerializeEnumTypes() { FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); EnumType en = EnumType.SECOND; try { CS.Serialize(FS, en); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { EnumType en2 = (EnumType)CS.Deserialize(FS2); FS2.Close(); NUnit.Framework.Assertion.AssertEquals(en, en2); } finally { FS2.Close(); } }
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 SerializeDelegate() { FileStream FS = new FileStream("Test.bin", FileMode.Create); CompactFormatter CS = new CompactFormatter(); WriteDelegate WD = new WriteDelegate(DelegateWrapper.WriteScreen); DelegateWrapper DW = new DelegateWrapper(WD, DelegateTypes.WRITESCREEN); try { CS.Serialize(FS, DW); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { DelegateWrapper DW2 = (DelegateWrapper)CS.Deserialize(FS2); FS2.Close(); DW2.Write("DelegateSerializationTest"); } finally { FS2.Close(); } }
public void SerializationWithoutSurrogate() { FileStream stream = new FileStream("Prova.bin", System.IO.FileMode.Create); CompactFormatter CFormatter = new CompactFormatter(); Console.WriteLine(CFormatter.Mode); SimpleObjectSurrogate obj = new SimpleObjectSurrogate(42, "BELLA RAGA", 3.1415); try { CFormatter.Serialize(stream, obj); } catch (System.Exception err) { stream.Close(); throw err; } stream.Flush(); stream.Close(); stream = new FileStream("Prova.bin", System.IO.FileMode.Open); CompactFormatter CFormatter2 = new CompactFormatter(); SimpleObjectSurrogate obj2; obj2 = (SimpleObjectSurrogate)CFormatter2.Deserialize(stream); Console.WriteLine(obj.Real); stream.Close(); Assert.AreEqual(obj, obj2); }
public void SerializeCustomObject() { CompactFormatter CS = new CompactFormatter(); CustomObject custom = new CustomObject("CompactFormatter", 42, 3.1415F); FileStream FS = new FileStream("Test.bin", FileMode.Create); try { CS.Serialize(FS, custom); } finally { FS.Close(); } FileStream FS2 = new FileStream("Test.bin", FileMode.Open); try { CustomObject custom2 = (CustomObject)CS.Deserialize(FS2); NUnit.Framework.Assertion.AssertEquals(true, custom2.Matches("CompactFormatter", 42, 3.1415F)); } finally { FS2.Close(); } }
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) { 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 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 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 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 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 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 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 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 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 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 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++; } }