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 PMBig Chungus
06/10/2021, 4:51 PMEmil Kantis
06/10/2021, 4:51 PMEmil Kantis
06/10/2021, 4:54 PMsomePArameterBasedTest