public void FromMessageWithNonMatchingMessageType()
        {
            var translator = new DownloadRequestConverter();

            var msg  = new SuccessMessage(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 FromMessage()
        {
            var translator = new DownloadRequestConverter();

            var msg  = new DataDownloadRequestMessage(new EndpointId("a"), new UploadToken());
            var data = translator.FromMessage(msg);

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

            var data = new SuccessData
            {
                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 ToMessage()
        {
            var translator = new DownloadRequestConverter();

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

            Assert.IsInstanceOf(typeof(DataDownloadRequestMessage), msg);
            Assert.AreSame(data.Id, msg.Id);
            Assert.AreSame(data.Sender, msg.Sender);
            Assert.AreSame(data.Token, ((DataDownloadRequestMessage)msg).Token);
        }
        public void DataTypeToTranslate()
        {
            var translator = new DownloadRequestConverter();

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

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