FindTestcase() private method

private FindTestcase ( string qualifiedTestname ) : TestCase
qualifiedTestname string
return GoogleTestAdapter.Model.TestCase
        private void ReportTestStart(string line)
        {
            string   qualifiedTestname = StandardOutputTestResultParser.RemovePrefix(line).Trim();
            TestCase testCase          = StandardOutputTestResultParser.FindTestcase(qualifiedTestname, _testCasesRun);

            _reporter.ReportTestsStarted(testCase.Yield());
        }
        private TestResult CreateTestResult()
        {
            int currentLineIndex = 0;

            while (currentLineIndex < _consoleOutput.Count &&
                   !StandardOutputTestResultParser.IsRunLine(_consoleOutput[currentLineIndex]))
            {
                currentLineIndex++;
            }
            if (currentLineIndex >= _consoleOutput.Count)
            {
                return(null);
            }

            string   line = _consoleOutput[currentLineIndex++];
            string   qualifiedTestname = StandardOutputTestResultParser.RemovePrefix(line).Trim();
            TestCase testCase          = StandardOutputTestResultParser.FindTestcase(qualifiedTestname, _testCasesRun);

            if (currentLineIndex >= _consoleOutput.Count)
            {
                CrashedTestCase = testCase;
                return(StandardOutputTestResultParser.CreateFailedTestResult(
                           testCase,
                           TimeSpan.FromMilliseconds(0),
                           StandardOutputTestResultParser.CrashText,
                           ""));
            }

            line = _consoleOutput[currentLineIndex++];

            string errorMsg = "";

            while (
                !(StandardOutputTestResultParser.IsFailedLine(line) ||
                  StandardOutputTestResultParser.IsPassedLine(line)) &&
                currentLineIndex <= _consoleOutput.Count)
            {
                errorMsg += line + "\n";
                line      = currentLineIndex < _consoleOutput.Count ? _consoleOutput[currentLineIndex] : "";
                currentLineIndex++;
            }
            if (StandardOutputTestResultParser.IsFailedLine(line))
            {
                ErrorMessageParser parser = new ErrorMessageParser(errorMsg, _baseDir);
                parser.Parse();
                return(StandardOutputTestResultParser.CreateFailedTestResult(
                           testCase,
                           StandardOutputTestResultParser.ParseDuration(line, _logger),
                           parser.ErrorMessage,
                           parser.ErrorStackTrace));
            }
            if (StandardOutputTestResultParser.IsPassedLine(line))
            {
                return(StandardOutputTestResultParser.CreatePassedTestResult(
                           testCase,
                           StandardOutputTestResultParser.ParseDuration(line, _logger)));
            }

            CrashedTestCase = testCase;
            string message = StandardOutputTestResultParser.CrashText;

            message += errorMsg == "" ? "" : $"\nTest output:\n\n{errorMsg}";
            TestResult result = StandardOutputTestResultParser.CreateFailedTestResult(
                testCase,
                TimeSpan.FromMilliseconds(0),
                message,
                "");

            return(result);
        }