public void Deserialize_message_with_concrete_implementation_and_interface() { var map = new[] { typeof(SuperMessageWithConcreteImpl), typeof(ISuperMessageWithConcreteImpl) }; var messageMapper = new MessageMapper(); messageMapper.Initialize(map); var serializer = new JsonMessageSerializer(messageMapper); using (var stream = new MemoryStream()) { var msg = new SuperMessageWithConcreteImpl { SomeProperty = "test" }; serializer.Serialize(msg, stream); stream.Position = 0; var result = (ISuperMessageWithConcreteImpl)serializer.Deserialize(stream, map)[0]; Assert.IsInstanceOf <SuperMessageWithConcreteImpl>(result); Assert.AreEqual("test", result.SomeProperty); } }
public void Deserialize_message_with_concrete_implementation_and_interface() { var map = new[] { typeof(SuperMessageWithConcreteImpl), typeof(ISuperMessageWithConcreteImpl) }; var messageMapper = new MessageMapper(); messageMapper.Initialize(map); var serializer = new JsonMessageSerializer(messageMapper); using (var stream = new MemoryStream()) { var msg = new SuperMessageWithConcreteImpl { SomeProperty = "test" }; serializer.Serialize(msg, stream); stream.Position = 0; var result = (ISuperMessageWithConcreteImpl) serializer.Deserialize(stream, map)[0]; Assert.IsInstanceOf<SuperMessageWithConcreteImpl>(result); Assert.AreEqual("test", result.SomeProperty); } }