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); } }