예제 #1
0
        public void TestEmptyEnumSequencePacketBE()
        {
            EnumSequencePacket v1 = new EnumSequencePacket(new MyEnum[] { });
            int bufferSize = v1.Size + ArrayHeader + CDRHeaderSize;
            var buffer = ByteBufferAllocator.Instance.Allocate(bufferSize);
            CDREncapsulation.Serialize(buffer, v1, ByteOrder.BigEndian);
            Assert.AreEqual(bufferSize, buffer.Position);

            buffer.Rewind();
            Assert.AreEqual("00 00 00 00 00 00 00 00", buffer.GetHexDump());
            EnumSequencePacket v2 = CDREncapsulation.Deserialize<EnumSequencePacket>(buffer);
            Assert.AreEqual(v1, v2);
            Assert.AreEqual(bufferSize, buffer.Position);
        }
예제 #2
0
        public void TestEnumSequencePacketLE()
        {
            EnumSequencePacket v1 = new EnumSequencePacket(new MyEnum[] { MyEnum.Four, MyEnum.Three, MyEnum.Three, MyEnum.Zero, MyEnum.One, MyEnum.Five });
            int bufferSize = v1.Size + ArrayHeader + 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 06 00 00 00 04 00 00 00 03 00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 05 00 00 00", buffer.GetHexDump());
            EnumSequencePacket v2 = CDREncapsulation.Deserialize<EnumSequencePacket>(buffer);
            Assert.AreEqual(v1, v2);
            Assert.AreEqual(bufferSize, buffer.Position);
        }