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); } }
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); }