Esempio n. 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();
            }
        }
        public object Deserialize(CompactFormatter parent, 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);
            ds.EnforceConstraints = (bool)parent.Deserialize(serializationStream);
            foreach (DataTable table in (DataTable[])parent.Deserialize(serializationStream))
            {
                ds.Tables.Add(table);
            }
            ArrayList constraintList = (ArrayList)parent.Deserialize(serializationStream);

            this.SetForeignKeyConstraints(ds, constraintList);
            ArrayList relationList = (ArrayList)parent.Deserialize(serializationStream);

            this.SetRelations(ds, relationList);
            ArrayList arrayList1 = (ArrayList)parent.Deserialize(serializationStream);
            ArrayList arrayList2 = (ArrayList)parent.Deserialize(serializationStream);

            for (int index = 0; index < arrayList1.Count; ++index)
            {
                ds.ExtendedProperties.Add(arrayList1[index], arrayList2[index]);
            }
            return((object)ds);
        }
Esempio n. 3
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(); }
        }
        public object Deserialize(CompactFormatter parent, System.IO.Stream serializationStream)
        {
            ArrayList colNames = (ArrayList)parent.Deserialize(serializationStream);
            ArrayList colTypes = (ArrayList)parent.Deserialize(serializationStream);
            ArrayList dataRows = (ArrayList)parent.Deserialize(serializationStream);

            DataTable dt = new DataTable();

            // Add columns
            for (int i = 0; i < colNames.Count; i++)
            {
                DataColumn col = new DataColumn(colNames[i].ToString(),
                                                Type.GetType(colTypes[i].ToString()));
                dt.Columns.Add(col);
            }

            // Add rows
            for (int i = 0; i < dataRows.Count; i++)
            {
                DataRow row = dt.NewRow();
                row.ItemArray = (Object[])dataRows[i];
                dt.Rows.Add(row);
            }

            dt.AcceptChanges();
            return(dt);
        }
Esempio n. 5
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 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);
        }
Esempio n. 7
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();
        }
Esempio n. 9
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();
            }
        }
Esempio n. 10
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();
            }
        }
Esempio n. 11
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();
            }
        }
Esempio n. 12
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();
            }
        }
Esempio n. 13
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();
            }
        }
Esempio n. 14
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();
            }
        }
        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 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);
        }
Esempio n. 17
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 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 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();
            }
        }
Esempio n. 20
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;
            }
        }
Esempio n. 21
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);
        }
Esempio n. 22
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]);
            }
        }
Esempio n. 23
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 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 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);
        }
Esempio n. 27
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);
            }
        }
Esempio n. 28
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]);
            }
        }
Esempio n. 29
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));
            }
        }