private MethodCoverageDto CalculateMethodCoverage(ReportPackageClassMethod method, IList <ReportPackageSourceFileLine> lines) { var branches = lines.Where(line => line.MissedBranches > 0 || line.CoveredBranches > 0).ToList(); return(new MethodCoverageDto() { Name = method.Name, LinesMissed = lines.Count(line => line.MissingInstructions > 0), LinesCovered = lines.Count(line => line.MissingInstructions == 0), BranchesCovered = branches.Count(line => line.MissedBranches == 0), BranchesMissed = branches.Count(line => line.MissedBranches > 0), ConditionsCovered = (branches.Count > 0) ? branches.Sum(line => line.CoveredBranches) : 0, ConditionsMissed = (branches.Count > 0) ? branches.Sum(line => line.MissedBranches) : 0, }); }
private MethodCoverageDto GetMethodCoverage(ReportPackageClassMethod method, ReportPackageSourceFile sourceFile, int lineEnd) { var lines = sourceFile.Lines.Where(line => line.LineNumber >= method.Line && line.LineNumber < lineEnd).ToList(); return(CalculateMethodCoverage(method, lines)); }