Skip to content

Commit 129c4a6

Browse files
authored
Merge pull request tegonal#326 from tegonal/feature/generator-decideArgRange
ArgGenerator.decideArgsRange convenience fun
2 parents 14b1c36 + 2b28c63 commit 129c4a6

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/main/kotlin/com/tegonal/variist/generators/argsGeneratorExtensions.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import com.tegonal.variist.utils.seedToOffset
1717
* @since 2.0.0
1818
*/
1919
fun <T> SemiOrderedArgsGenerator<T>.generateAndTakeBasedOnDecider(annotationData: AnnotationData? = null): Sequence<T> =
20-
decide(annotationData).let(::generateAndTake)
20+
decideArgsRange(annotationData).let(::generateAndTake)
2121

2222
/**
2323
* Returns a finite [Sequence] of values based on [VariistConfig.skip] and the [ArgsRange] that the configured
@@ -26,16 +26,15 @@ fun <T> SemiOrderedArgsGenerator<T>.generateAndTakeBasedOnDecider(annotationData
2626
* @since 2.0.0
2727
*/
2828
fun <T> OrderedArgsGenerator<T>.generateAndTakeBasedOnDecider(annotationData: AnnotationData? = null): Sequence<T> =
29-
decide(annotationData).let(::generateAndTake)
30-
29+
decideArgsRange(annotationData).let(::generateAndTake)
3130

3231
/**
3332
* Returns one value based on the [ArgsRange.offset] that the configured [ArgsRangeDecider] will chose.
3433
*
3534
* @since 2.0.0
3635
*/
3736
fun <T> SemiOrderedArgsGenerator<T>.generateOneBasedOnDecider(annotationData: AnnotationData? = null): T =
38-
decide(annotationData).offset.let(::generateOne)
37+
decideArgsRange(annotationData).offset.let(::generateOne)
3938

4039
/**
4140
* Returns a finite [Sequence] of values based [VariistConfig.skip] and thee [ArgsRange] that the configured
@@ -44,9 +43,13 @@ fun <T> SemiOrderedArgsGenerator<T>.generateOneBasedOnDecider(annotationData: An
4443
* @since 2.0.0
4544
*/
4645
fun <T> ArbArgsGenerator<T>.generateAndTakeBasedOnDecider(annotationData: AnnotationData? = null): Sequence<T> =
47-
decide(annotationData).take.let(this::generateAndTake)
46+
decideArgsRange(annotationData).take.let(this::generateAndTake)
4847

49-
private fun <T> ArgsGenerator<T>.decide(annotationData: AnnotationData?): ArgsRange =
48+
/**
49+
* Returns the [ArgsRange] the configured [ArgsRangeDecider] decides for this [ArgsGenerator] and the given [annotationData].
50+
* @since 2.1.0
51+
*/
52+
fun <T> ArgsGenerator<T>.decideArgsRange(annotationData: AnnotationData? = null): ArgsRange =
5053
_components.build<ArgsRangeDecider>().decide(this, annotationData)
5154

5255
/**

0 commit comments

Comments
 (0)