Exemple #1
0
        public void SuccessfullySerializeMessagesOfDifferentTypes()
        {
            var serializer = new CompoundSerializer(new List <CompoundSerializer.SerializerInfo>()
            {
                new CompoundSerializer.SerializerInfo
                {
                    Code = 1, Serializer = new StringMessageSerializer(), Type = typeof(StringMessage)
                },
                new CompoundSerializer.SerializerInfo
                {
                    Code = 2, Serializer = new NativeSerializer <RowBytesMessage>(), Type = typeof(RowBytesMessage)
                }
            });

            var stringMessage = new StringMessage("111111");

            var binaryMessage       = serializer.Serialize(stringMessage);
            var deserializedMessage = (StringMessage)serializer.Deserialize(binaryMessage);

            Assert.That(stringMessage.Message, Is.EqualTo(deserializedMessage.Message));

            var rowBytesMessage = new RowBytesMessage(new byte[] { 1, 2, 3, 4, 5, 155 });

            binaryMessage = serializer.Serialize(rowBytesMessage);
            var deserializedRowBytesMessage = (RowBytesMessage)serializer.Deserialize(binaryMessage);

            Assert.That(rowBytesMessage.Message.SequenceEqual(deserializedRowBytesMessage.Message));
        }
        public void ThrowExceptionWhenMessageIsNotStringMessage()
        {
            var serializer = new StringMessageSerializer();
            var message    = new RowBytesMessage(null);

            Assert.Throws <ArgumentException>(() =>
            {
                serializer.Serialize(message);
            });
        }