1
1
using System ;
2
+ using System . Linq ;
2
3
3
4
using Coverlet . Core ;
4
5
using Moq ;
@@ -8,29 +9,73 @@ namespace Coverlet.Core.Tests
8
9
{
9
10
public class CoverageSummaryTests
10
11
{
11
- [ Fact ]
12
- public void TestCalculateSummary ( )
12
+ private Modules _modules ;
13
+
14
+ public CoverageSummaryTests ( )
13
15
{
14
- CoverageResult result = new CoverageResult ( ) ;
15
- result . Identifier = Guid . NewGuid ( ) . ToString ( ) ;
16
16
Lines lines = new Lines ( ) ;
17
- lines . Add ( 1 , new LineInfo { Hits = 1 } ) ;
17
+ lines . Add ( 1 , new LineInfo { Hits = 1 , IsBranchPoint = true } ) ;
18
18
lines . Add ( 2 , new LineInfo { Hits = 0 } ) ;
19
+
19
20
Methods methods = new Methods ( ) ;
20
- methods . Add ( "System.Void Coverlet.Core.Tests.CoverageSummaryTests.TestCalculateSummary()" , lines ) ;
21
+ methods . Add ( "System.Void Coverlet.Core.Tests.CoverageSummaryTests::TestCalculateSummary()" , lines ) ;
22
+
21
23
Classes classes = new Classes ( ) ;
22
24
classes . Add ( "Coverlet.Core.Tests.CoverageSummaryTests" , methods ) ;
25
+
23
26
Documents documents = new Documents ( ) ;
24
27
documents . Add ( "doc.cs" , classes ) ;
25
- result . Modules = new Modules ( ) ;
26
- result . Modules . Add ( "module" , documents ) ;
27
28
28
- CoverageSummary summary = new CoverageSummary ( result ) ;
29
- CoverageSummaryResult summaryResult = summary . CalculateSummary ( ) ;
29
+ _modules = new Modules ( ) ;
30
+ _modules . Add ( "module" , documents ) ;
31
+ }
32
+
33
+ [ Fact ]
34
+ public void TestCalculateLineCoverage ( )
35
+ {
36
+ CoverageSummary summary = new CoverageSummary ( ) ;
37
+
38
+ var module = _modules . First ( ) ;
39
+ var document = module . Value . First ( ) ;
40
+ var @class = document . Value . First ( ) ;
41
+ var method = @class . Value . First ( ) ;
42
+
43
+ Assert . Equal ( 0.5 , summary . CalculateLineCoverage ( module ) ) ;
44
+ Assert . Equal ( 0.5 , summary . CalculateLineCoverage ( document ) ) ;
45
+ Assert . Equal ( 0.5 , summary . CalculateLineCoverage ( @class ) ) ;
46
+ Assert . Equal ( 0.5 , summary . CalculateLineCoverage ( method ) ) ;
47
+ }
48
+
49
+ [ Fact ]
50
+ public void TestCalculateBranchCoverage ( )
51
+ {
52
+ CoverageSummary summary = new CoverageSummary ( ) ;
53
+
54
+ var module = _modules . First ( ) ;
55
+ var document = module . Value . First ( ) ;
56
+ var @class = document . Value . First ( ) ;
57
+ var method = @class . Value . First ( ) ;
58
+
59
+ Assert . Equal ( 1 , summary . CalculateBranchCoverage ( module ) ) ;
60
+ Assert . Equal ( 1 , summary . CalculateBranchCoverage ( document ) ) ;
61
+ Assert . Equal ( 1 , summary . CalculateBranchCoverage ( @class ) ) ;
62
+ Assert . Equal ( 1 , summary . CalculateBranchCoverage ( method ) ) ;
63
+ }
64
+
65
+ [ Fact ]
66
+ public void TestCalculateMethodCoverage ( )
67
+ {
68
+ CoverageSummary summary = new CoverageSummary ( ) ;
69
+
70
+ var module = _modules . First ( ) ;
71
+ var document = module . Value . First ( ) ;
72
+ var @class = document . Value . First ( ) ;
73
+ var method = @class . Value . First ( ) ;
30
74
31
- Assert . NotEmpty ( summaryResult ) ;
32
- Assert . True ( summaryResult . ContainsKey ( "module" ) ) ;
33
- Assert . Equal ( 50 , summaryResult [ "module" ] ) ;
75
+ Assert . Equal ( 1 , summary . CalculateMethodCoverage ( module ) ) ;
76
+ Assert . Equal ( 1 , summary . CalculateMethodCoverage ( document ) ) ;
77
+ Assert . Equal ( 1 , summary . CalculateMethodCoverage ( @class ) ) ;
78
+ Assert . Equal ( 1 , summary . CalculateMethodCoverage ( method ) ) ;
34
79
}
35
80
}
36
81
}
0 commit comments