예제 #1
0
        public void ShouldSerializeToProtoBuf()
        {
            IMessageSerializer serializer = new ProtoBufMessageSerializer();

            var message = new TestMessageProto {
                Id = 123, Name = "SomeName"
            };
            var serialize = serializer.Serialize(message);

            Assert.NotNull(serialize);
            Assert.Equal(serialize.Length, 25);
        }
예제 #2
0
        public void ShouldDeserializeFromProtoBuf()
        {
            IMessageSerializer serializer = new ProtoBufMessageSerializer();
            IMessageDeserializer <TestMessageProto> deserializer = new ProtoBufMessageDeserializer <TestMessageProto>();

            var message = new TestMessageProto {
                Id = 123, Name = "SomeName"
            };
            var serialize   = serializer.Serialize(message);
            var deserialize = deserializer.Deserialize(serialize);

            Assert.Equal(message, deserialize);
        }
예제 #3
0
        public void ShouldSerializeToXml()
        {
            IMessageSerializer serializer = new XmlMessageSerializer();

            var message = new TestMessageProto {
                Id = 123, Name = "SomeName"
            };
            var serialize = XmlSerializerDefaults.Encoding.GetString(serializer.Serialize(message));

            Assert.NotNull(serialize);
            Assert.Contains(message.Id.ToString(), serialize);
            Assert.Contains(message.Name, serialize);
        }
예제 #4
0
        public void ShouldSerializeToMsgPack()
        {
            IMessageSerializer serializer = new MsgPackMessageSerializer();

            var message = new TestMessageProto {
                Id = 123, Name = "SomeName"
            };
            var serialize = serializer.Serialize(message);


            Assert.NotNull(serialize);
            Assert.Equal(21, serialize.Length);
        }
예제 #5
0
        public void ShouldDeserializeFromXmlAscii()
        {
            IMessageSerializer serializer = new XmlMessageSerializer();
            IMessageDeserializer <TestMessageProto> deserializer = new XmlMessageDeserializer <TestMessageProto>();

            var message = new TestMessageProto {
                Id = 123, Name = "SomeName"
            };
            var serialize   = serializer.Serialize(message);
            var ascii       = Encoding.Convert(XmlSerializerDefaults.Encoding, Encoding.ASCII, serialize);
            var deserialize = deserializer.Deserialize(ascii);

            Assert.Equal(message, deserialize);
        }
예제 #6
0
        public void ShouldDeserializeFromMsgPack()
        {
            IMessageSerializer serializer = new MsgPackMessageSerializer();
            IMessageDeserializer <TestMessageProto> deserializer = new MsgPackMessageDeserializer <TestMessageProto>();

            // see MsgPack spec limitation regarding UTC dates
            // https://github.com/msgpack/msgpack-cli/wiki#datetime
            var message = new TestMessageProto {
                Id = 123, Name = "SomeName", Date = new DateTime(2010, 2, 10, 13, 22, 59, DateTimeKind.Utc)
            };
            var serialize   = serializer.Serialize(message);
            var deserialize = deserializer.Deserialize(serialize);

            Assert.Equal(message.Id, deserialize.Id);
            Assert.Equal(message.Name, deserialize.Name);
            Assert.Equal(message.Date, deserialize.Date);
        }