示例#1
0
 public static CoverageLevel ParseStats(ICoverageStats coverageStats)
 {
     if (coverageStats.MethodsCovered == 0 &&
         coverageStats.ClassesCovered == 0 &&
         coverageStats.LinesCovered == 0)
     {
         if (coverageStats.TotalMethods == 0 && coverageStats.TotalClasses == 0 &&
             coverageStats.TotalCoverableLines == 0)
         {
             return(CoverageLevel.Empty);
         }
         else
         {
             return(CoverageLevel.NotCovered);
         }
     }
     else if (coverageStats.MethodsCovered == coverageStats.TotalMethods &&
              coverageStats.ClassesCovered == coverageStats.TotalClasses &&
              coverageStats.LinesCovered == coverageStats.TotalCoverableLines)
     {
         return(CoverageLevel.FullyCovered);
     }
     else
     {
         return(CoverageLevel.PartiallyCovered);
     }
 }
示例#2
0
        public SourceFile(string fileName, IEnumerable <ISourceLine> lines, IEnumerable <ISourceClass> classes, SourceLanguage language, ICoverageStats stats)
        {
            Name = fileName;
            var sourceLines = lines as ISourceLine[] ?? lines.ToArray();

            Lines         = sourceLines;
            Classes       = classes;
            Language      = language;
            CoverageStats = stats;
        }
示例#3
0
        private string BuildCoverageStatsTable(string fileName, IEnumerable <ISourceClass> classes, ICoverageStats stats)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append("<table class=\"coverageStats\">");
            builder.Append("<tbody>");

            builder.AppendFormat(
                "<tr><th class=\"name\">Type</th><th class=\"coverageStat\">Class, %</th><th class=\"coverageStat\">Methods, %</th><th class=\"coverageStat\">Lines, %</th></tr>");

            string coverageFmt = "{0}% ({1}/{2})";
            string classCoverage;
            string methodCoverage;
            string lineCoverage;

            foreach (var sourceClass in classes)
            {
                classCoverage = string.Format(coverageFmt,
                                              sourceClass.CoverageStats.TotalClasses == 0
                                                  ? "N/A"
                                                  : (sourceClass.CoverageStats.ClassesCovered /
                                                     (float)sourceClass.CoverageStats.TotalClasses).ToString(
                                                  CultureInfo.InvariantCulture),
                                              sourceClass.CoverageStats.ClassesCovered,
                                              sourceClass.CoverageStats.TotalClasses);
                methodCoverage = string.Format(coverageFmt,
                                               sourceClass.CoverageStats.TotalMethods == 0
                                                   ? "N/A"
                                                   : (sourceClass.CoverageStats.MethodsCovered /
                                                      (float)sourceClass.CoverageStats.TotalMethods).ToString(
                                                   CultureInfo.InvariantCulture),
                                               sourceClass.CoverageStats.MethodsCovered,
                                               sourceClass.CoverageStats.TotalMethods);
                lineCoverage = string.Format(coverageFmt,
                                             sourceClass.CoverageStats.TotalCoverableLines == 0
                                                 ? "N/A"
                                                 : (sourceClass.CoverageStats.LinesCovered /
                                                    (float)sourceClass.CoverageStats.TotalCoverableLines).ToString(
                                                 CultureInfo.InvariantCulture),
                                             sourceClass.CoverageStats.LinesCovered,
                                             sourceClass.CoverageStats.TotalCoverableLines);

                builder.AppendFormat("<tr><td class=\"name\">{0}</td><td class=\"coverageStat\">{1}</td><td class=\"coverageStat\">{2}</td><td class=\"coverageStat\">{3}</td></tr>", sourceClass.Name, classCoverage, methodCoverage, lineCoverage);
            }

            classCoverage = string.Format(coverageFmt,
                                          stats.TotalClasses == 0
                                              ? "N/A"
                                              : (stats.ClassesCovered / (float)stats.TotalClasses).ToString(
                                              CultureInfo.InvariantCulture), stats.ClassesCovered,
                                          stats.TotalClasses);
            methodCoverage = string.Format(coverageFmt,
                                           stats.TotalMethods == 0
                                               ? "N/A"
                                               : (stats.MethodsCovered / (float)stats.TotalMethods).ToString(
                                               CultureInfo.InvariantCulture), stats.MethodsCovered, stats.TotalMethods);
            lineCoverage = string.Format(coverageFmt,
                                         stats.TotalCoverableLines == 0
                                             ? "N/A"
                                             : (stats.LinesCovered / (float)stats.TotalCoverableLines).ToString(
                                             CultureInfo.InvariantCulture), stats.LinesCovered,
                                         stats.TotalCoverableLines);

            builder.AppendFormat("<tr><td class=\"name\">{0}</td><td class=\"coverageStat\">{1}</td><td class=\"coverageStat\">{2}</td><td class=\"coverageStat\">{3}</td></tr>", fileName, classCoverage, methodCoverage, lineCoverage);

            builder.Append("</tbody>");
            builder.Append("</table>");

            return(builder.ToString());
        }
示例#4
0
 public SourceLine(int lineNum, string line, CoverageLevel coverage, ICoverageStats stats)
 {
     LineNumber    = lineNum;
     LineContents  = line;
     CoverageStats = stats;
 }