示例#1
0
        public void TestU8Packet()
        {
            U8Packet v1 = new U8Packet(0xA);
            var buffer = ByteBufferAllocator.Instance.Allocate(sizeof(byte));
            Serializer.Serialize(buffer, v1);
            Assert.AreEqual(sizeof(byte), buffer.Position);

            buffer.Rewind();
            U8Packet v2 = Serializer.Deserialize<U8Packet>(buffer);
            Assert.AreEqual(v1, v2);
            Assert.AreEqual(sizeof(byte), buffer.Position);
        }
        public void TestU8PacketBE()
        {
            U8Packet v1 = new U8Packet(0xA);
            int expectedSize = headerSize + paramHeaderSize + byteBoundary + paramSentinelSize;
            string expectedRst = "00 02 00 00 00 00 00 0C " + // Header
                                 "80 00 00 04 0A 00 00 00 " + // Parameter
                                 "00 01 00 00";               // Sentinel
            var buffer = ByteBufferAllocator.Instance.Allocate(expectedSize);
            ParameterListEncapsulation.Serialize(buffer, v1, ByteOrder.BigEndian);
            Assert.AreEqual(expectedSize, buffer.Position);

            buffer.Rewind();
            Assert.AreEqual(expectedRst, buffer.GetHexDump(expectedSize));
            U8Packet v2 = ParameterListEncapsulation.Deserialize<U8Packet>(buffer);
            Assert.AreEqual(v1, v2);
            Assert.AreEqual(expectedSize, buffer.Position);
        }
示例#3
0
        public void TestU8PacketLE()
        {
            U8Packet v1 = new U8Packet(0xA);
            int bufferSize = sizeof(byte) + CDRHeaderSize;
            var buffer = ByteBufferAllocator.Instance.Allocate(bufferSize);
            CDREncapsulation.Serialize(buffer, v1, ByteOrder.LittleEndian);
            Assert.AreEqual(bufferSize, buffer.Position);

            buffer.Rewind();
            Assert.AreEqual("00 01 00 00 0A", buffer.GetHexDump());
            U8Packet v2 = CDREncapsulation.Deserialize<U8Packet>(buffer);
            Assert.AreEqual(v1, v2);
            Assert.AreEqual(bufferSize, buffer.Position);
        }