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]); }
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); }
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); } }
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]); }
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]); }
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]); }