Ejemplo n.º 1
0
        public void TestReadInt32Array()
        {
            la      = new LongSortedList();
            la[1L]  = 0;
            la[3L]  = 1;
            la[30L] = Int32.MaxValue;
            la[31L] = Int32.MinValue;

            LongSortedList la1 = new LongSortedList();

            la1[1L]  = (Single)1.0;
            la1[10L] = (Single)10.0;
            la1[11L] = (Single)11.0;

            DataWriter      writer    = new DataWriter(stream);
            PofStreamWriter pofWriter = new PofStreamWriter(writer, ctx);

            // writting ILongArray
            pofWriter.WriteLongArray(0, la);
            pofWriter.WriteLongArray(0, new LongSortedList());
            // writting uniform ILongArray
            pofWriter.WriteLongArray(0, la, typeof(Int32));
            pofWriter.WriteLongArray(0, la1, typeof(Single));

            stream.Position = 0;
            DataReader      reader    = new DataReader(stream);
            PofStreamReader pofReader = new PofStreamReader(reader, ctx);

            // reading ILongArray
            Int32[] resInt32Array = pofReader.ReadInt32Array(0);
            Assert.AreEqual(la.LastIndex + 1, resInt32Array.Length);

            Assert.AreEqual(la[1L], resInt32Array[1]);
            Assert.AreEqual(la[3L], resInt32Array[3]);
            Assert.AreEqual(la[30L], resInt32Array[30]);
            Assert.AreEqual(la[31L], resInt32Array[31]);

            resInt32Array = pofReader.ReadInt32Array(0);
            Assert.AreEqual(0, resInt32Array.Length);

            // reading  uniform ILongArray
            resInt32Array = pofReader.ReadInt32Array(0);
            Assert.AreEqual(la.LastIndex + 1, resInt32Array.Length);

            Assert.AreEqual(la[1L], resInt32Array[1]);
            Assert.AreEqual(la[3L], resInt32Array[3]);
            Assert.AreEqual(la[30L], resInt32Array[30]);
            Assert.AreEqual(la[31L], resInt32Array[31]);

            resInt32Array = pofReader.ReadInt32Array(0);
            Assert.AreEqual(la1.LastIndex + 1, resInt32Array.Length);

            Assert.AreEqual(la1[1L], resInt32Array[1]);
            Assert.AreEqual(la1[10L], resInt32Array[10]);
            Assert.AreEqual(la1[11L], resInt32Array[11]);
        }
Ejemplo n.º 2
0
        public void TestReadLongArray()
        {
            la      = new LongSortedList();
            la[1L]  = 'a';
            la[3L]  = 'b';
            la[20L] = 'c';
            byte[] bytes = new byte[] { 1, 250, 3 };

            DataWriter      writer    = new DataWriter(stream);
            PofStreamWriter pofWriter = new PofStreamWriter(writer, ctx);

            pofWriter.WriteLongArray(0, la);
            pofWriter.WriteLongArray(0, la, typeof(char));
            pofWriter.WriteLongArray(0, new LongSortedList());
            pofWriter.WriteLongArray(0, null);
            pofWriter.WriteArray(0, bytes);
            pofWriter.WriteArray(0, bytes, typeof(byte));
            pofWriter.WriteArray(0, new byte[0]);

            stream.Position = 0;
            DataReader      reader    = new DataReader(stream);
            PofStreamReader pofReader = new PofStreamReader(reader, ctx);

            ILongArray resLongArray = pofReader.ReadLongArray(0, null);

            Assert.AreEqual(la.Count, resLongArray.Count);
            Assert.AreEqual(la[1], resLongArray[1]);
            Assert.AreEqual(la[3], resLongArray[3]);
            Assert.AreEqual(la[20], resLongArray[20]);

            //uniform sparse array
            resLongArray = pofReader.ReadLongArray(0, null);
            Assert.AreEqual(la.Count, resLongArray.Count);
            Assert.AreEqual(la[1], resLongArray[1]);
            Assert.AreEqual(la[3], resLongArray[3]);
            Assert.AreEqual(la[20], resLongArray[20]);

            resLongArray = pofReader.ReadLongArray(0, null);
            Assert.AreEqual(0, resLongArray.Count);

            resLongArray = pofReader.ReadLongArray(0, null);
            Assert.IsTrue(resLongArray == null);

            resLongArray = pofReader.ReadLongArray(0, null);
            Assert.AreEqual(3, resLongArray.Count);

            resLongArray = pofReader.ReadLongArray(0, null);
            Assert.AreEqual(3, resLongArray.Count);

            resLongArray = pofReader.ReadLongArray(0, new LongSortedList());
            Assert.AreEqual(0, resLongArray.Count);
        }
Ejemplo n.º 3
0
        public void TestReadObject()
        {
            la     = new LongSortedList();
            la[1L] = "one";
            la[2L] = "two";
            la.Add("five");
            la.Add("three");
            la[200L] = "twohundred";


            DataWriter      writer    = new DataWriter(stream);
            PofStreamWriter pofWriter = new PofStreamWriter(writer, ctx);

            pofWriter.WriteLongArray(0, la);
            pofWriter.WriteLongArray(0, new LongSortedList());
            pofWriter.WriteLongArray(0, la, typeof(String));

            stream.Position = 0;
            DataReader      reader    = new DataReader(stream);
            PofStreamReader pofReader = new PofStreamReader(reader, ctx);

            LongSortedList resLA = (LongSortedList)pofReader.ReadObject(0);

            Assert.AreEqual(la.Count, resLA.Count);

            IEnumerator e  = resLA.GetEnumerator();
            IEnumerator de = la.GetEnumerator();

            for (; e.MoveNext() && de.MoveNext();)
            {
                Assert.AreEqual(((DictionaryEntry)e.Current).Key, ((DictionaryEntry)de.Current).Key);
                Assert.AreEqual(((DictionaryEntry)e.Current).Value, ((DictionaryEntry)de.Current).Value);
            }

            resLA = (LongSortedList)pofReader.ReadObject(0);
            Assert.AreEqual(0, resLA.Count);

            //uniform sparse array
            resLA = (LongSortedList)pofReader.ReadObject(0);
            Assert.AreEqual(la.Count, resLA.Count);

            e  = resLA.GetEnumerator();
            de = la.GetEnumerator();
            for (; e.MoveNext() && de.MoveNext();)
            {
                Assert.AreEqual(((DictionaryEntry)e.Current).Key, ((DictionaryEntry)de.Current).Key);
                Assert.AreEqual(((DictionaryEntry)e.Current).Value, ((DictionaryEntry)de.Current).Value);
            }
        }
Ejemplo n.º 4
0
        public void TestReadString()
        {
            la      = new LongSortedList();
            la[1L]  = 'a';
            la[3L]  = 'b';
            la[20L] = 'c';

            DataWriter      writer    = new DataWriter(stream);
            PofStreamWriter pofWriter = new PofStreamWriter(writer, ctx);

            pofWriter.WriteLongArray(0, la);
            pofWriter.WriteLongArray(0, new LongSortedList());
            pofWriter.WriteLongArray(0, la, typeof(char));

            stream.Position = 0;
            DataReader      reader    = new DataReader(stream);
            PofStreamReader pofReader = new PofStreamReader(reader, ctx);

            String resCharArray = pofReader.ReadString(0);

            Assert.AreEqual(la.LastIndex + 1, resCharArray.Length);

            Assert.AreEqual(la[1L], resCharArray[1]);
            Assert.AreEqual(la[3L], resCharArray[3]);
            Assert.AreEqual(la[20L], resCharArray[20]);

            resCharArray = pofReader.ReadString(0);
            Assert.IsTrue(resCharArray.Length == 0);

            //uniform sparse array
            resCharArray = pofReader.ReadString(0);
            Assert.AreEqual(la.LastIndex + 1, resCharArray.Length);

            Assert.AreEqual(la[1L], resCharArray[1]);
            Assert.AreEqual(la[3L], resCharArray[3]);
            Assert.AreEqual(la[20L], resCharArray[20]);
        }
Ejemplo n.º 5
0
        public void TestReadDoubleArray()
        {
            la      = new LongSortedList();
            la[1L]  = 1.0;
            la[3L]  = 3.0;
            la[20L] = 20.0;

            DataWriter      writer    = new DataWriter(stream);
            PofStreamWriter pofWriter = new PofStreamWriter(writer, ctx);

            pofWriter.WriteLongArray(0, new LongSortedList());
            pofWriter.WriteLongArray(0, la);
            pofWriter.WriteLongArray(0, la, typeof(double));

            stream.Position = 0;
            DataReader      reader    = new DataReader(stream);
            PofStreamReader pofReader = new PofStreamReader(reader, ctx);

            double[] resFloatArray = pofReader.ReadDoubleArray(0);
            Assert.AreEqual(0, resFloatArray.Length);

            resFloatArray = pofReader.ReadDoubleArray(0);
            Assert.AreEqual(la.LastIndex + 1, resFloatArray.Length);

            Assert.AreEqual(la[1L], resFloatArray[1]);
            Assert.AreEqual(la[3L], resFloatArray[3]);
            Assert.AreEqual(la[20L], resFloatArray[20]);

            //uniform sparse array
            resFloatArray = pofReader.ReadDoubleArray(0);
            Assert.AreEqual(la.LastIndex + 1, resFloatArray.Length);

            Assert.AreEqual(la[1L], resFloatArray[1]);
            Assert.AreEqual(la[3L], resFloatArray[3]);
            Assert.AreEqual(la[20L], resFloatArray[20]);
        }
Ejemplo n.º 6
0
        public void TestReadByteArray()
        {
            la      = new LongSortedList();
            la[1L]  = (byte)1;
            la[3L]  = (byte)3;
            la[30L] = (byte)30;

            DataWriter      writer    = new DataWriter(stream);
            PofStreamWriter pofWriter = new PofStreamWriter(writer, ctx);

            pofWriter.WriteLongArray(0, la);
            pofWriter.WriteLongArray(0, new LongSortedList());
            pofWriter.WriteLongArray(0, la, typeof(byte));

            stream.Position = 0;
            DataReader      reader    = new DataReader(stream);
            PofStreamReader pofReader = new PofStreamReader(reader, ctx);

            byte[] resByteArray = pofReader.ReadByteArray(0);
            Assert.AreEqual(la.LastIndex + 1, resByteArray.Length);

            Assert.AreEqual(la[1L], resByteArray[1]);
            Assert.AreEqual(la[3L], resByteArray[3]);
            Assert.AreEqual(la[30L], resByteArray[30]);

            resByteArray = pofReader.ReadByteArray(0);
            Assert.AreEqual(0, resByteArray.Length);

            //uniform sparse array
            resByteArray = pofReader.ReadByteArray(0);
            Assert.AreEqual(la.LastIndex + 1, resByteArray.Length);

            Assert.AreEqual(la[1L], resByteArray[1]);
            Assert.AreEqual(la[3L], resByteArray[3]);
            Assert.AreEqual(la[30L], resByteArray[30]);
        }