Exemplo n.º 1
0
        public void DeserializeBatch_Messages_ReturnsMessage()
        {
            // arrange
            var typeProvide = new Mock <ITypeProvider>();

            typeProvide.Setup(x => x.GetMessageType(It.IsAny <string>())).Returns(typeof(FakeMessage));

            var serializer     = new MessageSerializer(typeProvide.Object);
            var expctedMesages = new List <FakeMessage> {
                new FakeMessage(2), new FakeMessage(1)
            };
            var msgType  = typeof(FakeMessage).FullName;
            var messages = expctedMesages.Select(msg =>
            {
                var res = new Message(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(msg)));
                res.UserProperties.Add(CustomMessageProperties.MessageTypeProperty, msgType);
                return(res);
            }).ToList();

            // act
            var actualMessages = serializer.DeserializeBatch <FakeMessage>(messages);

            // assert
            typeProvide.Verify(x => x.GetMessageType(It.Is <string>(t => t == msgType)), Times.Exactly(expctedMesages.Count));

            for (int i = 0; i < actualMessages.Count; i++)
            {
                var actual        = actualMessages[i];
                var expctedMesage = expctedMesages[i];
                Assert.Equal(actual.Version, expctedMesage.Version);
            }
        }
Exemplo n.º 2
0
        public void DeserializeBatch_EmptyCollectionOfMessages_ReturnEmptyCollection()
        {
            // arrange
            var typeProvide = new Mock <ITypeProvider>();
            var serializer  = new MessageSerializer(typeProvide.Object);

            // act/
            var actualMessages = serializer.DeserializeBatch <FakeMessage>(new List <Message>());

            // assert
            Assert.Empty(actualMessages);
        }