public void FromMessage()
        {
            var translator = new SuccessConverter();

            var msg  = new SuccessMessage(new EndpointId("a"), new MessageId());
            var data = translator.FromMessage(msg);

            Assert.IsInstanceOf(typeof(SuccessData), data);
            Assert.AreSame(msg.Id, data.Id);
            Assert.AreSame(msg.Sender, data.Sender);
            Assert.AreSame(msg.InResponseTo, data.InResponseTo);
        }
        public void FromMessageWithNonMatchingMessageType()
        {
            var translator = new SuccessConverter();

            var msg  = new FailureMessage(new EndpointId("a"), new MessageId());
            var data = translator.FromMessage(msg);

            Assert.IsInstanceOf(typeof(UnknownMessageTypeData), data);
            Assert.AreSame(msg.Id, data.Id);
            Assert.AreSame(msg.Sender, data.Sender);
            Assert.AreSame(msg.InResponseTo, data.InResponseTo);
        }
        public void ToMessage()
        {
            var translator = new SuccessConverter();

            var data = new SuccessData
            {
                Id           = new MessageId(),
                InResponseTo = new MessageId(),
                Sender       = new EndpointId("a"),
            };
            var msg = translator.ToMessage(data);

            Assert.IsInstanceOf(typeof(SuccessMessage), msg);
            Assert.AreSame(data.Id, msg.Id);
            Assert.AreSame(data.Sender, msg.Sender);
            Assert.AreSame(data.InResponseTo, msg.InResponseTo);
        }
        public void ToMessageWithNonMatchingDataType()
        {
            var translator = new SuccessConverter();

            var data = new FailureData
            {
                Id           = new MessageId(),
                InResponseTo = new MessageId(),
                Sender       = new EndpointId("a"),
            };
            var msg = translator.ToMessage(data);

            Assert.IsInstanceOf(typeof(UnknownMessageTypeMessage), msg);
            Assert.AreSame(data.Id, msg.Id);
            Assert.AreSame(data.Sender, msg.Sender);
            Assert.AreSame(data.InResponseTo, msg.InResponseTo);
        }
        public void DataTypeToTranslate()
        {
            var translator = new SuccessConverter();

            Assert.AreEqual(typeof(SuccessData), translator.DataTypeToTranslate);
        }
        public void MessageTypeToTranslate()
        {
            var translator = new SuccessConverter();

            Assert.AreEqual(typeof(SuccessMessage), translator.MessageTypeToTranslate);
        }