public void Encode_ReturnsByteArray_WhenSingleHeaderAndEmptyPayload()
        {
            Message singleHeaderMessage = new Message(
                new Dictionary <string, string>()
            {
                { "Host", "google.com" }
            },
                new byte[0]
                );

            BinaryMessageEncoder sut = new BinaryMessageEncoder();

            byte[] actual = sut.Encode(singleHeaderMessage);

            Assert.NotNull(actual);
            Assert.NotEmpty(actual);
        }
        public void Decode_ReturnsMessage_WhenByArray()
        {
            Message expectedMessage = new Message(
                new Dictionary <string, string>()
            {
                { "Host", "google.com" }
            },
                new byte[0]
                );

            BinaryMessageEncoder encoder = new BinaryMessageEncoder();

            byte[] serializedMessage = encoder.Encode(expectedMessage);

            BinaryMessageDecoder decoder = new BinaryMessageDecoder();
            Message actualMessage        = decoder.Decode(serializedMessage);

            Assert.NotNull(actualMessage);
        }
Example #3
0
        public TcpChannelFactory(TcpTransportBindingElement source, BindingContext ctx)
            : base(source, ctx)
        {
            XmlDictionaryReaderQuotas quotas = null;

            foreach (BindingElement be in ctx.Binding.Elements)
            {
                MessageEncodingBindingElement mbe = be as MessageEncodingBindingElement;
                if (mbe != null)
                {
                    MessageEncoder = CreateEncoder <TChannel> (mbe);
                    quotas         = mbe.GetProperty <XmlDictionaryReaderQuotas> (ctx);
                    break;
                }
            }
            if (MessageEncoder == null)
            {
                MessageEncoder = new BinaryMessageEncoder();
            }
            info = new TcpChannelInfo(source, MessageEncoder, quotas);
        }