Skip to content

Commit c388fc2

Browse files
committed
changes to coverage detail
1 parent 8f5509c commit c388fc2

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

src/coverlet.core/CoverageDetails.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,24 @@ namespace Coverlet.Core
55
internal class CoverageDetails
66
{
77
private double _averageModulePercent;
8-
public double Covered { get; internal set; }
8+
private double _covered;
9+
10+
public double Covered
11+
{
12+
get => _covered;
13+
internal set
14+
{
15+
_covered = value;
16+
Percent = Total == 0 ? 100D : Math.Floor((_covered / Total) * 10000) / 100;
17+
}
18+
}
19+
920
public int Total { get; internal set; }
21+
public double Percent { get; internal set; }
1022
public double AverageModulePercent
1123
{
1224
get { return Math.Floor(_averageModulePercent * 100) / 100; }
1325
internal set { _averageModulePercent = value; }
1426
}
15-
16-
public double Percent => Total == 0 ? 0 : Math.Floor((Covered / Total) * 10000) / 100;
1727
}
1828
}

src/coverlet.core/CoverageSummary.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,18 @@ public CoverageDetails CalculateLineCoverage(Modules modules)
5454
{
5555
var details = new CoverageDetails();
5656
var accumPercent = 0.0D;
57+
58+
if (modules.Count == 0)
59+
return details;
60+
5761
foreach (var module in modules)
5862
{
5963
var moduleCoverage = CalculateLineCoverage(module.Value);
6064
details.Covered += moduleCoverage.Covered;
6165
details.Total += moduleCoverage.Total;
6266
accumPercent += moduleCoverage.Percent;
6367
}
64-
details.AverageModulePercent = modules.Count == 0 ? 0 : accumPercent / modules.Count;
68+
details.AverageModulePercent = accumPercent / modules.Count;
6569
return details;
6670
}
6771

@@ -153,6 +157,10 @@ public CoverageDetails CalculateBranchCoverage(Modules modules)
153157
{
154158
var details = new CoverageDetails();
155159
var accumPercent = 0.0D;
160+
161+
if (modules.Count == 0)
162+
return details;
163+
156164
foreach (var module in modules)
157165
{
158166
var moduleCoverage = CalculateBranchCoverage(module.Value);
@@ -213,6 +221,10 @@ public CoverageDetails CalculateMethodCoverage(Modules modules)
213221
{
214222
var details = new CoverageDetails();
215223
var accumPercent = 0.0D;
224+
225+
if (modules.Count == 0)
226+
return details;
227+
216228
foreach (var module in modules)
217229
{
218230
var moduleCoverage = CalculateMethodCoverage(module.Value);

test/coverlet.integration.tests/DeterministicBuild.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public void Msbuild()
7070

7171
DotnetCli($"test -c {_buildConfiguration} --no-build /p:CollectCoverage=true /p:Include=\"[coverletsample.integration.determisticbuild]*DeepThought\" /p:IncludeTestAssembly=true", out standardOutput, out _, _testProjectPath);
7272
Assert.Contains("Passed!", standardOutput);
73-
Assert.Contains("| coverletsample.integration.determisticbuild | 100% | 0% | 100% |", standardOutput);
73+
Assert.Contains("| coverletsample.integration.determisticbuild | 100% | 100% | 100% |", standardOutput);
7474
Assert.True(File.Exists(Path.Combine(_testProjectPath, "coverage.json")));
7575
AssertCoverage(standardOutput);
7676

@@ -93,7 +93,7 @@ public void Msbuild_SourceLink()
9393

9494
DotnetCli($"test -c {_buildConfiguration} --no-build /p:CollectCoverage=true /p:UseSourceLink=true /p:Include=\"[coverletsample.integration.determisticbuild]*DeepThought\" /p:IncludeTestAssembly=true", out standardOutput, out _, _testProjectPath);
9595
Assert.Contains("Passed!", standardOutput);
96-
Assert.Contains("| coverletsample.integration.determisticbuild | 100% | 0% | 100% |", standardOutput);
96+
Assert.Contains("| coverletsample.integration.determisticbuild | 100% | 100% | 100% |", standardOutput);
9797
Assert.True(File.Exists(Path.Combine(_testProjectPath, "coverage.json")));
9898
Assert.Contains("raw.githubusercontent.com", File.ReadAllText(Path.Combine(_testProjectPath, "coverage.json")));
9999
AssertCoverage(standardOutput);

0 commit comments

Comments
 (0)