@@ -10,15 +10,13 @@ import org.junit.rules.TemporaryFolder
10
10
import org.slf4j.LoggerFactory
11
11
12
12
import java.nio.file.Paths
13
- import java.text.NumberFormat
14
13
14
+ import static org.junit.Assert.assertEquals
15
15
import static org.junit.Assert.assertThat
16
16
import static org.junit.jupiter.api.Assertions.assertThrows
17
17
18
18
class CoverageCheckerTest {
19
19
20
- private NumberFormat numberFormat = NumberFormat . getInstance(Locale . US )
21
-
22
20
private File reportDir = Paths . get(getClass(). getClassLoader(). getResource(" checkTask" ). toURI()). toFile()
23
21
24
22
private CoverageChecker checker = new CoverageChecker (LoggerFactory . getLogger(CoverageCheckerTest . class))
@@ -31,68 +29,74 @@ class CoverageCheckerTest {
31
29
@Test
32
30
void failsWhenReportFileIsNotFound () {
33
31
assertFailure(CoverageChecker . fileNotFoundErrorMsg(CoverageType.Line ), {
34
- checker. checkLineCoverage(tempDir. getRoot(), CoverageType.Line , 0.0 , numberFormat )
32
+ checker. checkLineCoverage(tempDir. getRoot(), CoverageType.Line , 0.0 )
35
33
})
36
34
}
37
35
38
36
// line coverage
39
37
40
38
@Test
41
39
void failsWhenLineRateIsBelowTarget () {
42
- assertFailure(CoverageChecker . errorMsg(" 66 " , " 100 " , CoverageType.Line ), {
43
- checker. checkLineCoverage(reportDir, CoverageType.Line , 1.0 , numberFormat )
40
+ assertFailure(CoverageChecker . errorMsg(0.66 , 1.0 , CoverageType.Line ), {
41
+ checker. checkLineCoverage(reportDir, CoverageType.Line , 1.0 )
44
42
})
45
43
}
46
44
47
45
@Test
48
46
void doesNotFailWhenLineRateIsAtTarget () {
49
- checker. checkLineCoverage(reportDir, CoverageType.Line , 0.66 , numberFormat )
47
+ checker. checkLineCoverage(reportDir, CoverageType.Line , 0.66 )
50
48
}
51
49
52
50
@Test
53
51
void doesNotFailWhenLineRateIsAboveTarget () {
54
- checker. checkLineCoverage(reportDir, CoverageType.Line , 0.6 , numberFormat )
52
+ checker. checkLineCoverage(reportDir, CoverageType.Line , 0.6 )
55
53
}
56
54
57
55
// Statement coverage
58
56
59
57
@Test
60
58
void failsWhenStatementRateIsBelowTarget () {
61
- assertFailure(CoverageChecker . errorMsg(numberFormat . format( new Double ( 33.33 )), " 100 " , CoverageType.Statement ), {
62
- checker. checkLineCoverage(reportDir, CoverageType.Statement , 1.0 , numberFormat )
59
+ assertFailure(CoverageChecker . errorMsg(0.3333 , 1.0 , CoverageType.Statement ), {
60
+ checker. checkLineCoverage(reportDir, CoverageType.Statement , 1.0 )
63
61
})
64
62
}
65
63
66
64
@Test
67
65
void doesNotFailWhenStatementRateIsAtTarget () {
68
- checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.33 , numberFormat )
66
+ checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.33 )
69
67
}
70
68
71
69
@Test
72
70
void doesNotFailWhenStatementRateIsAboveTarget () {
73
- checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.3 , numberFormat )
71
+ checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.3 )
74
72
}
75
73
76
74
// Branch coverage
77
75
78
76
@Test
79
77
void failsWhenBranchRateIsBelowTarget () {
80
- assertFailure(CoverageChecker . errorMsg(" 50 " , " 100 " , CoverageType.Branch ), {
81
- checker. checkLineCoverage(reportDir, CoverageType.Branch , 1.0 , numberFormat )
78
+ assertFailure(CoverageChecker . errorMsg(0.5 , 1.0 , CoverageType.Branch ), {
79
+ checker. checkLineCoverage(reportDir, CoverageType.Branch , 1.0 )
82
80
})
83
81
}
84
82
85
83
@Test
86
84
void doesNotFailWhenBranchRateIsAtTarget () {
87
- checker. checkLineCoverage(reportDir, CoverageType.Branch , 0.5 , numberFormat )
85
+ checker. checkLineCoverage(reportDir, CoverageType.Branch , 0.5 )
88
86
}
89
87
90
88
@Test
91
89
void doesNotFailWhenBranchRateIsAboveTarget () {
92
- checker. checkLineCoverage(reportDir, CoverageType.Branch , 0.45 , numberFormat)
90
+ checker. checkLineCoverage(reportDir, CoverageType.Branch , 0.45 )
91
+ }
92
+
93
+ @Test
94
+ void printsErrorMsgInEnglishWithUpTwoDecimalPointsPrecision () {
95
+ assertEquals (" Only 54.32% of project is covered by tests instead of 90% (coverageType: Branch)" ,
96
+ CoverageChecker . errorMsg(0.54321 , 0.9 , CoverageType.Branch ))
93
97
}
94
98
95
- private void assertFailure (String message , Executable executable ) {
99
+ private static void assertFailure (String message , Executable executable ) {
96
100
GradleException e = assertThrows(GradleException . class, executable)
97
101
assertThat (e, new CauseMatcher (message))
98
102
}
0 commit comments