Example #1
0
        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();
            }
        }
Example #2
0
        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(); }
        }
Example #3
0
        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);
        }
Example #6
0
        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();
        }
Example #8
0
        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();
        }
Example #10
0
        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();
            }
        }
Example #11
0
        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();
            }
        }
Example #12
0
        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();
            }
        }
Example #13
0
        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);
        }
Example #15
0
        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);
        }
Example #17
0
        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();
            }
        }
Example #19
0
        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;
            }
        }
Example #21
0
        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));
        }
Example #23
0
        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);
        }
Example #27
0
        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]);
            }
        }
Example #28
0
        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));
            }
        }
Example #30
0
        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++;
            }
        }