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);
        }
예제 #2
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);
        }
예제 #3
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);*/
        }
예제 #4
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]);
            }
        }
예제 #5
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]);
            }
        }