private async Task <(BlockStructureResponse, TestFile)> GetResponseAsync(string code)
        {
            using (var testProject = await TestAssets.Instance.GetTestProjectAsync("CakeProject", shadowCopy: false))
                using (var host = CreateOmniSharpHost(testProject.Directory))
                {
                    var testFile       = new TestFile(Path.Combine(testProject.Directory, "build.cake"), code);
                    var requestHandler = GetRequestHandler(host);

                    var request = new BlockStructureRequest
                    {
                        FileName = testFile.FileName,
                    };

                    var updateBufferRequest = new UpdateBufferRequest
                    {
                        Buffer   = testFile.Content.Code,
                        FileName = request.FileName,
                        FromDisk = false
                    };

                    await GetUpdateBufferHandler(host).Handle(updateBufferRequest);

                    var response = await requestHandler.Handle(request);

                    return(response, testFile);
                }
        }
        private Task <BlockStructureResponse> GetResponseAsync(TestFile testFile)
        {
            SharedOmniSharpTestHost.AddFilesToWorkspace(testFile);
            var request = new BlockStructureRequest
            {
                FileName = testFile.FileName,
            };

            var requestHandler = GetRequestHandler(SharedOmniSharpTestHost);

            return(requestHandler.Handle(request));
        }
        public async Task NonExistingFile()
        {
            var request = new BlockStructureRequest
            {
                FileName = $"{Guid.NewGuid().ToString("N")}.cs"
            };

            var requestHandler = GetRequestHandler(SharedOmniSharpTestHost);
            var response       = await requestHandler.Handle(request);

            Assert.NotNull(response);
            Assert.Empty(response.Spans);
        }