public async Task VerifyDiagnosticAsync(
            string theory,
            string fromData,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            (string source, TextSpan span) = TestSourceText.ReplaceSpan(theory, fromData);

            TestSourceTextAnalysis analysis = TestSourceText.GetSpans(source);

            if (analysis.Spans.Any())
            {
                await VerifyDiagnosticAsync(analysis.Source, analysis.Spans.Select(f => f.Span), cancellationToken).ConfigureAwait(false);
            }
            else
            {
                await VerifyDiagnosticAsync(source, span, cancellationToken).ConfigureAwait(false);
            }
        }
        public async Task VerifyRefactoringAsync(
            string source,
            string expected,
            string equivalenceKey               = null,
            string[] additionalSources          = null,
            CodeVerificationOptions options     = null,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            TestSourceTextAnalysis analysis = TestSourceText.GetSpans(source, reverse: true);

            await VerifyRefactoringAsync(
                source : analysis.Source,
                expected : expected,
                spans : analysis.Spans.Select(f => f.Span),
                equivalenceKey : equivalenceKey,
                additionalSources : additionalSources,
                options : options,
                cancellationToken : cancellationToken).ConfigureAwait(false);
        }