Ejemplo n.º 1
0
        public void SerializeAssembly()
        {
            CompactFormatter c = new CompactFormatter(CFormatterMode.NONE);

            if ((c.Mode & CFormatterMode.PORTABLE) != 0)
            {
                Console.WriteLine("Portable");
            }
            throw new System.Exception("Not Implemented");
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 5
0
        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;
            }
        }
Ejemplo n.º 6
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);
        }
Ejemplo n.º 7
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]);
            }
        }
Ejemplo n.º 8
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();
            }
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 12
0
        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));
        }
Ejemplo n.º 13
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);
            }
        }
Ejemplo n.º 14
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]);
            }
        }
Ejemplo n.º 15
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++;
            }
        }
        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);
        }
Ejemplo n.º 19
0
        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]);
            }
        }
Ejemplo n.º 20
0
        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]);
            }
        }
Ejemplo n.º 21
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);
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 23
0
        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);
        }
Ejemplo n.º 25
0
        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);
        }
Ejemplo n.º 26
0
        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);
        }
Ejemplo n.º 27
0
        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);
        }
Ejemplo n.º 28
0
        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);
 }