public void GetResponse_typed_constructor_passed_TestMessage_IMessage_function_is_called()
        {
            Func<TestMessage, IMessage> func = m => new TestMessage("response");
            var responderWorker = new ResponderWorker<TestMessage>(func);

            var response = (TestMessage)responderWorker.GetResponse(new TestMessage(), null);
            Assert.AreEqual("response", response.Text);
        }
        public void GetResponse_typed_constructor_passed_nothing_Echo_function_is_called()
        {
            var responderWorker = new ResponderWorker<TestMessage>();

            var requestMessage = new TestMessage();
            var response = (TestMessage)responderWorker.GetResponse(requestMessage, null);
            Assert.AreEqual(requestMessage, response);
        }
        public void GetResponse_typed_constructor_passed_TestMessage_IMessage_function_is_called()
        {
            Func <TestMessage, IMessage> func = m => new TestMessage("response");
            var responderWorker = new ResponderWorker <TestMessage>(func);

            var response = (TestMessage)responderWorker.GetResponse(new TestMessage(), null);

            Assert.AreEqual("response", response.Text);
        }
        public void GetResponse_typed_constructor_passed_nothing_Echo_function_is_called()
        {
            var responderWorker = new ResponderWorker <TestMessage>();

            var requestMessage = new TestMessage();
            var response       = (TestMessage)responderWorker.GetResponse(requestMessage, null);

            Assert.AreEqual(requestMessage, response);
        }