@@ -10,15 +10,13 @@ import org.junit.rules.TemporaryFolder
1010import org.slf4j.LoggerFactory
1111
1212import java.nio.file.Paths
13- import java.text.NumberFormat
1413
14+ import static org.junit.Assert.assertEquals
1515import static org.junit.Assert.assertThat
1616import static org.junit.jupiter.api.Assertions.assertThrows
1717
1818class CoverageCheckerTest {
1919
20- private NumberFormat numberFormat = NumberFormat . getInstance(Locale . US )
21-
2220 private File reportDir = Paths . get(getClass(). getClassLoader(). getResource(" checkTask" ). toURI()). toFile()
2321
2422 private CoverageChecker checker = new CoverageChecker (LoggerFactory . getLogger(CoverageCheckerTest . class))
@@ -31,68 +29,74 @@ class CoverageCheckerTest {
3129 @Test
3230 void failsWhenReportFileIsNotFound () {
3331 assertFailure(CoverageChecker . fileNotFoundErrorMsg(CoverageType.Line ), {
34- checker. checkLineCoverage(tempDir. getRoot(), CoverageType.Line , 0.0 , numberFormat )
32+ checker. checkLineCoverage(tempDir. getRoot(), CoverageType.Line , 0.0 )
3533 })
3634 }
3735
3836 // line coverage
3937
4038 @Test
4139 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 )
4442 })
4543 }
4644
4745 @Test
4846 void doesNotFailWhenLineRateIsAtTarget () {
49- checker. checkLineCoverage(reportDir, CoverageType.Line , 0.66 , numberFormat )
47+ checker. checkLineCoverage(reportDir, CoverageType.Line , 0.66 )
5048 }
5149
5250 @Test
5351 void doesNotFailWhenLineRateIsAboveTarget () {
54- checker. checkLineCoverage(reportDir, CoverageType.Line , 0.6 , numberFormat )
52+ checker. checkLineCoverage(reportDir, CoverageType.Line , 0.6 )
5553 }
5654
5755 // Statement coverage
5856
5957 @Test
6058 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 )
6361 })
6462 }
6563
6664 @Test
6765 void doesNotFailWhenStatementRateIsAtTarget () {
68- checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.33 , numberFormat )
66+ checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.33 )
6967 }
7068
7169 @Test
7270 void doesNotFailWhenStatementRateIsAboveTarget () {
73- checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.3 , numberFormat )
71+ checker. checkLineCoverage(reportDir, CoverageType.Statement , 0.3 )
7472 }
7573
7674 // Branch coverage
7775
7876 @Test
7977 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 )
8280 })
8381 }
8482
8583 @Test
8684 void doesNotFailWhenBranchRateIsAtTarget () {
87- checker. checkLineCoverage(reportDir, CoverageType.Branch , 0.5 , numberFormat )
85+ checker. checkLineCoverage(reportDir, CoverageType.Branch , 0.5 )
8886 }
8987
9088 @Test
9189 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 ))
9397 }
9498
95- private void assertFailure (String message , Executable executable ) {
99+ private static void assertFailure (String message , Executable executable ) {
96100 GradleException e = assertThrows(GradleException . class, executable)
97101 assertThat (e, new CauseMatcher (message))
98102 }
0 commit comments