示例#1
0
        public void SeamlessSerializationForASCIIString()
        {
            var descriptor = new EntityDescriptor("1", 0, EntityLength.TILL_THE_END_OF_A_PACKET, DataEntityFormat.ASCII_STRING);
            var rawData    = new[] { 0, 0xFF, 'd', 'g' };
            var data       = rawData.Select(v => (char)v).Aggregate();

            var serialized   = descriptor.Serialize(data);
            var deserialized = descriptor.Deserialize(serialized);

            serialized = descriptor.Serialize(deserialized);

            var actual = (string)deserialized;

            Assert.AreEqual(rawData, serialized);
        }
示例#2
0
        public void SeamlessSerializationForDPEntityDescriptor()
        {
            var descriptor = new EntityDescriptor("1", 0, EntityLength.TILL_THE_END_OF_A_PACKET, DataEntityFormat.DATA_PACKET_ENTITIES_ARRAY);
            var data       = new DataPacketEntityDescriptor[]
            {
                new DataPacketEntityDescriptor("ENT1", 4, 0, 1, true),
                new DataPacketEntityDescriptor("ENT2", 4, 4, 2, false),
                new DataPacketEntityDescriptor("ENT3", 2, 8, 3, false),
            };

            var serialized   = descriptor.Serialize(data);
            var deserialized = descriptor.Deserialize(serialized);

            var actual = (DataPacketEntityDescriptor[])deserialized;

            Assert.AreEqual(data, actual);
        }