public static void AddDefinitions()

in src/dotnet/Rider.Plugins.TrxPlugin/TrxParser.cs [104:160]


    public static void AddDefinitions(XElement node, List<UnitTestResult> results, XNamespace defaultNamespace)
    {
        foreach (var element in node.Elements())
        {
            if (defaultNamespace.ToString() == "http://microsoft.com/schemas/VisualStudio/TeamTest/2010")
            {
                if (element.Name.LocalName == "UnitTest")
                {
                    var serializer = new XmlSerializer(typeof(UnitTest),
                        "http://microsoft.com/schemas/VisualStudio/TeamTest/2010");
                    var startNode = new XElement(element);
                    using var reader = startNode.CreateReader();
                    var unitTest = (UnitTest)serializer.Deserialize(reader);
                    foreach (var result in results)
                    {
                        if (result.TestId == unitTest?.Id)
                        {
                            result.Definition = unitTest;
                        }
                    }
                }
                else
                {
                    AddDefinitions(element, results, defaultNamespace);
                }
            }
            else
            {
                if (element.Name.LocalName == "tests")
                {
                    foreach (var test in element.Elements("value"))
                    {
                        var testId = test.Element("id")?.Element("id")?.Value;
                        var className = test.Element("testMethod")?.Element("className")?.Value;
                        foreach (var result in results)
                        {
                            if (result.TestId == testId)
                            {
                                result.Definition = new UnitTest()
                                {
                                    TestMethod = new TestMethod()
                                    {
                                        ClassName = className
                                    },
                                    Id = testId
                                };
                            }
                        }
                    }
                }
                else
                {
                    AddDefinitions(element, results, defaultNamespace);
                }
            }
        }
    }