Beispiel #1
0
        private List <CoverageMetric> ProcessProjectFolders(CoverageSpecimen coverageSpecimen, List <Project> projects, string key)
        {
            var metrics = new List <CoverageMetric>();

            if (projects == null)
            {
                return(metrics);
            }
            foreach (var project in projects)
            {
                var projectKey = $"{key}.{project.Name}";
                if (!project.Namespaces.Any())
                {
                    continue;
                }
                foreach (var projectNamespace in project.Namespaces)
                {
                    var projectNamespaceKey = $"{projectKey}.{projectNamespace.Name}";
                    metrics.Add(CreateCoverageMetric1(coverageSpecimen, projectNamespaceKey, projectNamespace.TotalStatements, projectNamespace.CoveredStatements, projectNamespace.CoveragePercent));
                    if (!projectNamespace.NamespaceTypes.Any())
                    {
                        continue;
                    }
                    foreach (var namespaceType in projectNamespace.NamespaceTypes)
                    {
                        var namespaceTypeKey = $"{projectNamespaceKey}.{namespaceType.Name}";
                        metrics.Add(CreateCoverageMetric1(coverageSpecimen, namespaceTypeKey, namespaceType.TotalStatements, namespaceType.CoveredStatements, namespaceType.CoveragePercent));
                    }
                }
            }
            return(metrics);
        }
Beispiel #2
0
        private CoverageMetric CreateCoverageMetric1(CoverageSpecimen coverageSpecimen, string key, string totalStatements, string coveredStatements, string coveragePercent)
        {
            var coverageMetric = CreateCoverageMetric(key, totalStatements, coveredStatements, coveragePercent);

            coverageMetric.Source   = coverageSpecimen.RunDescription;
            coverageMetric.Solution = coverageSpecimen.Solution;
            return(coverageMetric);
        }
Beispiel #3
0
        private List <CoverageMetric> ProcessSolutionFolders(CoverageSpecimen coverageSpecimen, List <CodeCoverage.CoverageDtos.SolutionFolder> solutionFolders, string key)
        {
            var metrics = new List <CoverageMetric>();

            foreach (var childSolutionFolder in solutionFolders)
            {
                var projectMetrics = ProcessProjectFolders(coverageSpecimen, childSolutionFolder.Projects, key);
                metrics.AddRange(projectMetrics);

                List <CoverageMetric> folderMetrics = ProcessSolutionFolders(coverageSpecimen,
                                                                             childSolutionFolder.SolutionFolders, key);
                metrics.AddRange(folderMetrics);
            }
            return(metrics);
        }
Beispiel #4
0
        private List <CoverageMetric> GetCoverageMetrics(CoverageSpecimen coverageSpecimen)
        {
            var metrics = new List <CoverageMetric>();

            var key = coverageSpecimen.Solution + "Root";
            var id  = 0;

            var folderMetrics = ProcessSolutionFolders(coverageSpecimen, coverageSpecimen.DtoRoot.SolutionFolders, key);

            metrics.AddRange(folderMetrics);

            var projectMetrics = ProcessProjectFolders(coverageSpecimen, coverageSpecimen.DtoRoot.Projects, key);

            metrics.AddRange(projectMetrics);

            return(metrics);
        }
Beispiel #5
0
 private static void FillNodeChildren(UltraTreeNode clientTopNode, string directoryPath)
 {
     foreach (var file in Directory.GetFiles(directoryPath))
     {
         var node             = new UltraTreeNode(Path.GetFileNameWithoutExtension(file).Substring(0, 10));
         var sample           = GenericSerializer.DeserializeFilePath <CodeCoverage.CoverageDtos.Root>(file);
         var coverageSpecimen = new CoverageSpecimen
         {
             Solution = clientTopNode.Key,
             //RootSample = sample,
             DtoRoot        = sample,
             RunDescription = node.Text
         };
         node.Key = file;
         node.Tag = coverageSpecimen;
         Decimal detailedCoveragePercent = Convert.ToDecimal(sample.CoveredStatements) / Convert.ToDecimal(sample.TotalStatements) * 100m;
         node.Text += $" ({sample.CoveredStatements} / {sample.TotalStatements} / {detailedCoveragePercent.ToString("0,0.000")}%)";
         clientTopNode.Nodes.Add(node);
     }
 }