Пример #1
0
        public async Task DispatchResponseAsync_ReturnsResponse()
        {
            using (var dispatcher = new MessageDispatcher(new RequestHandlers(), _idGenerator))
                using (var connection = new ConnectionMock())
                {
                    dispatcher.SetConnection(connection);

                    var requestTask = dispatcher.DispatchRequestAsync <Request, Response>(
                        _method,
                        new Request(),
                        CancellationToken.None);

                    var response = new Message(
                        _idGenerator.Id,
                        MessageType.Response,
                        _method,
                        JObject.FromObject(new Response()));

                    connection.SimulateResponse(response);

                    await requestTask;

                    Assert.IsType <Response>(requestTask.Result);
                }
        }