Ejemplo n.º 1
0
        public unsafe void MixedRead()
        {
            byte[] data;

            using (MemoryStream ms = new MemoryStream())
            {
                using (BinaryWriter writer = new BinaryWriter(ms))
                {
                    writer.Write("abcABCäöüÄÖÜßáÁàÀ♥♦♣♠");
                    writer.Write((byte)66);
                    writer.Write(0x48484848);
                    writer.Write(0x84848484U);
                    writer.Write("abcABCäöüÄÖÜßáÁàÀ♥♦♣♠");
                }

                data = ms.ToArray();
            }

            fixed(byte *pData = data)
            {
                UnsafeBinaryMemoryReader reader = new UnsafeBinaryMemoryReader(pData);

                Assert.AreEqual(reader.ReadString(), "abcABCäöüÄÖÜßáÁàÀ♥♦♣♠", "BinaryMemoryReader String incompatible to BinaryReader.");
                Assert.AreEqual(reader.ReadByte(), (byte)66, "BinaryMemoryReader Byte incompatible to BinaryReader.");
                Assert.AreEqual(reader.ReadInt32(), 0x48484848, "BinaryMemoryReader Int incompatible to BinaryReader.");
                Assert.AreEqual(reader.ReadUInt32(), 0x84848484U, "BinaryMemoryReader UInt incompatible to BinaryReader.");
                Assert.AreEqual(reader.ReadString(), "abcABCäöüÄÖÜßáÁàÀ♥♦♣♠", "BinaryMemoryReader 2nd String incompatible to BinaryReader.");
            }
        }
Ejemplo n.º 2
0
        public unsafe void UnsafeBinaryMemoryReader_Strings(byte[] data)
        {
            fixed(byte *pData = data)
            {
                UnsafeBinaryMemoryReader reader = new UnsafeBinaryMemoryReader(pData);

                for (int count = 0; count < 10240; count++)
                {
                    reader.ReadString();
                }
            }
        }
Ejemplo n.º 3
0
        public unsafe void StringRead()
        {
            foreach (int size in new int[] { 1, 127, 128, 16383, 16384, 2097151, 2097152, 268435455, 268435456, 300000000 })
            {
                byte[] data;

                using (MemoryStream ms = new MemoryStream())
                {
                    using (BinaryWriter writer = new BinaryWriter(ms))
                        writer.Write(new string('A', size));

                    data = ms.ToArray();
                }

                fixed(byte *pData = data)
                {
                    UnsafeBinaryMemoryReader reader = new UnsafeBinaryMemoryReader(pData);

                    Assert.AreEqual(reader.ReadString(), new string('A', size), "UnsafeBinaryMemoryReader String incompatible to BinaryReader.");
                }
            }
        }