コード例 #1
0
        /// <summary>
        /// Roslyn can be a little bit slow to warm up, which can cause lag when the
        /// user first starts typing / evaluating code. Do the warm up in a background
        /// thread beforehand to improve the user experience.
        /// </summary>
        private Task BackgroundInitializationAsync()
        {
            const string initializationCode = @"using System; Console.WriteLine(""Hello""); ""World""";

            return(Task.WhenAll(
                       replServices.HighlightAsync(Guid.Empty, initializationCode),
                       replServices.CompleteCodeAsync(Guid.Empty, initializationCode, initializationCode.Length),
                       replServices.AppendEvaluationAsync(Guid.Empty, initializationCode, new NullLogger())
                       ));
        }
コード例 #2
0
        public async Task RunIntegrationSession(string path)
        {
            var submissions = await ReadSubmissions(path);

            for (int i = 0; i < submissions.Count; i++)
            {
                var submission = submissions[i];
                var result     = await replServices.AppendEvaluationAsync(Guid.NewGuid(), submission.FormattedInput, new NullLogger());

                Assert.Equal(submission.Exception, result.Exception);
                Assert.Equal(submission.Result, result.Result);
                Assert.Equal(submission.StandardOutput, result.StandardOutput);
            }
        }