@@ -10,45 +10,50 @@ import io.kotest.data.forAll
1010import io.mockk.mockk
1111import io.mockk.verify
1212import org.gradle.util.GradleVersion
13+ import org.junit.jupiter.api.Test
14+ import org.junit.jupiter.params.ParameterizedTest
15+ import org.junit.jupiter.params.provider.MethodSource
16+ import org.junit.jupiter.params.provider.ValueSource
1317import kotlin.reflect.full.memberProperties
1418
19+ class GradleVersionsTest {
20+
21+ data class VersionInput (val major : Int , val minor : Int )
22+
23+ companion object {
24+ @JvmStatic
25+ fun versionsInput () : List <VersionInput > {
26+ return listOf (
27+ 4 to 0 .. 10 ,
28+ 5 to 0 .. 6 ,
29+ 6 to 0 .. 8
30+ ).flatMap { (majorVersion, minorRange) ->
31+ minorRange
32+ .map { minorVersion ->
33+ VersionInput (majorVersion, minorVersion)
34+ }
35+ }
36+ }
37+ }
1538
16- class GradleVersionsTest : DescribeSpec ({
17-
18- describe("Version constant properties") {
19-
39+ @ParameterizedTest
40+ @MethodSource(" versionsInput" )
41+ fun `GradleVersions object should have a version property` (input : VersionInput ) {
2042 val allVersionProperties = GradleVersions ::class .memberProperties.associateBy { it.name }
2143
22- val rows = sequenceOf(
23- 4 to 0..10,
24- 5 to 0..6,
25- 6 to 0..8
26- ).flatMap { (majorVersion, minorRange) ->
27- minorRange.asSequence()
28- .map { minorVersion ->
29- Row2 (majorVersion, minorVersion)
30- }
31- }.toList()
32-
33- val dataTable = Table2 (Headers2 ("major", "minor"), rows)
44+ val versionPropertyName = " Version_${input.major} _${input.minor} "
45+ val version = GradleVersion .version(" ${input.major} .${input.minor} " )
3446
35- forAll(dataTable) { major, minor ->
47+ val versionProperty = allVersionProperties[versionPropertyName]
3648
37- it("GradleVersions object should have a version property for $major.$minor") {
38-
39- val versionPropertyName = " Version_${major} _${minor} "
40- val version = GradleVersion .version("$major.$minor")
41-
42- val versionProperty = allVersionProperties[versionPropertyName]
43-
44- assertThat(versionProperty, name = "Version property").isNotNull()
45- .transform { it.get(GradleVersions ) }
46- .isEqualTo(version)
47- }
48- }
49+ assertThat(versionProperty, name = " Version property" ).isNotNull()
50+ .transform { it.get(GradleVersions ) }
51+ .isEqualTo(version)
4952 }
53+ }
5054
5155
56+ class GradleVersionsTestOld : DescribeSpec ({
5257 val veryHighVersion = GradleVersion .version("9999.99")
5358
5459
0 commit comments