Ejemplo n.º 1
0
        public void MessageDescriptor_Should_Not_Retrieve_ArgumentsDescriptors_When_PackedMessage_DoesNot_Have_A_Full_Header()
        {
            var messagePacked = new byte[] { 1, 2, 3, 4, 5, 6 };

            var argumentDescriptors = MessageDescriptor.GetArguments(messagePacked);

            Assert.Empty(argumentDescriptors);
        }
Ejemplo n.º 2
0
        public void MessageDescriptor_Should_Retrieve_Arguments_From_A_PackedMessage(params string[] arguments)
        {
            var protobufMessageSerialized = new TestMessage {
                Data = "FooBar"
            }.ToByteArray();
            var argumentsDescriptors = GetArgumentsDescriptors(arguments);

            ReadOnlySpan <byte> messagePacked = MessageDescriptor.PackMessage(1, protobufMessageSerialized, argumentsDescriptors);

            var descriptors = MessageDescriptor.GetArguments(messagePacked);

            var i = 0;

            foreach (var descriptor in descriptors)
            {
                var protobufObject = new TestMessage();

                protobufObject.MergeFrom(descriptor.Argument);

                Assert.Equal(ARGUMENT_TYPE, descriptor.Type);
                Assert.Equal(arguments[i++], protobufObject.Data);
            }
        }