Big Chungus
06/10/2021, 1:18 PMabstract class SomeParameterBasedTest<T>(abstract val data: List<T>) {
// Junit example here, but wonder how that would look in kotest
@Test
fun execute() {
data.forEach {
// Testing code using parseResult<T>()
}
}
abstract fun <T> parseResult(res: String): T
}
class OneKindOfTest: SomeParameterBasedTest<Int>(listOf(1,2,3)) {
override fun parseResult(res: String): Int = res.toInt()
}
Emil Kantis
06/10/2021, 2:50 PMBig Chungus
06/10/2021, 2:54 PMEmil Kantis
06/10/2021, 4:49 PMclass OneKindOfTest : FunSpec({
include(
someParameterBasedTest(
listOf(1, 2, 3),
{ res -> res.toInt() }
)
)
})
fun <T> someParameterBasedTest(
val data: List<T>,
val parseResult: (res: String) -> T
) = funSpec {
test("execute") {
// Testing code using parseResult
}
}
Big Chungus
06/10/2021, 4:50 PMEmil Kantis
06/10/2021, 4:51 PMsomePArameterBasedTest
I guess that makes a difference