コード例 #1
0
        public static List <FileCoverageData> GenerateSourceFiles(Dictionary <string, XDocument> documents)
        {
            _ = documents ?? throw new ArgumentNullException(nameof(documents));

            var files = new List <FileCoverageData>();

            foreach (var fileName in documents.Keys.Where(k => k != "Summary.xml"))
            {
                var rootDocument = documents[fileName];
                var filesElement = rootDocument.Root?.Element("Files");
                if (filesElement != null)
                {
                    foreach (var fileElement in filesElement.Elements("File"))
                    {
                        var filePath = fileElement.Attribute("name") !.Value;

                        var source   = new List <string>();
                        var coverage = new List <int?>();
                        foreach (var lineAnalysis in fileElement.Elements("LineAnalysis"))
                        {
                            var visits       = lineAnalysis.Attribute("visits") !.Value;
                            var coverageMode = lineAnalysis.Attribute($"coverage") !.Value;
                            var content      = lineAnalysis.Attribute("content") !.Value;

                            source.Add(WebUtility.HtmlDecode(content));

                            int?coverageCount = null;
                            if (coverageMode == "Covered" || coverageMode == "NotCovered")
                            {
                                var actualVisits = int.Parse(visits, CultureInfo.InvariantCulture);
                                if (actualVisits != -1)
                                {
                                    coverageCount = actualVisits;
                                }
                            }

                            coverage.Add(coverageCount);
                        }

                        var coverageData = new FileCoverageData(filePath, coverage.ToArray(), source.ToArray());

                        files.Add(coverageData);
                    }
                }
            }

            return(files);
        }
コード例 #2
0
 void GenerateSummaryPage(FileCoverageData coverageData, DateTime timetamp)
 {
 }
コード例 #3
0
 void GenerateFilePages(FileCoverageData coverageData, DateTime timetamp)
 {
 }
コード例 #4
0
 public void Generate(FileCoverageData coverageData, DateTime timetamp)
 {
     GenerateSummaryPage(coverageData, timetamp);
     GenerateFilePages(coverageData, timetamp);
 }