private IUnitTestElement TestElementCreator()

in src/dotnet/Rider.Plugins.TrxPlugin/TrxManager.cs [98:144]


    private IUnitTestElement TestElementCreator(UnitTestResult current, IUnitTestTransaction tx,
        HashSet<IUnitTestElement> elements, string testRunId)
    {
        UnitTestElementNamespace ns = current.Definition?.TestMethod?.ClassName == null
            ? UnitTestElementNamespace.Create("")
            : UnitTestElementNamespace.Create(
                TrxParser.GetNamespaceFromClassName(current.Definition.TestMethod.ClassName));
        TestElement element = new TestElement(current.TestName, ns)
        {
            NaturalId = UT.CreateId(_myProjectCache.GetProject(_mySolution.SolutionDirectory.ToString()),
                TargetFrameworkId.Default,
                this._myTestProvider,
                testRunId + current.Definition?.TestMethod?.ClassName + current.TestName)
        };
        if (elements.Contains(element))
        {
            return null;
        }

        if (current.InnerResults is null)
        {
            return element;
        }

        foreach (var child in current.InnerResults.UnitTestResults)
        {
            var childElement = TestElementCreator(child, tx, elements, testRunId);
            if (childElement is null)
            {
                continue;
            }

            childElement.Parent = element;
            var realElement = _myRealElementsFinder.FindRealElement(child);
            if (realElement is null)
            {
                tx.Create(childElement);
                elements.Add(childElement);
            }
            else
            {
                elements.Add(realElement);
            }
        }

        return element;
    }