0

Is there a way to use a custom format for the @Parameterized.Parameters name's in the UnitTests? My tests look like that:

@RunWith(Parameterized::class)
class DefaultActivityResultParserTest(
    private val resultCode: Int,
    private val expected: DefaultActivityResult
) {
    private val tested = DefaultActivityResultParser()

    @Test
    fun `parseResult()`() {
        // when
        val result = tested.parseResult(resultCode, null)

        // given
        assertEquals(expected, result)
    }

    companion object {
        private const val NOT_SUPPORTED_RESULT_CODE = -1234

        @JvmStatic
        @Parameterized.Parameters(name = "version({index}): resultCode={0} -> result={1}")
        fun provideData(): Collection<Array<Any?>> =
            listOf(
                arrayOf(RESULT_OK, DefaultActivityResult.Success),
                arrayOf(RESULT_CANCELED, DefaultActivityResult.Canceled),
                arrayOf(NOT_SUPPORTED_RESULT_CODE, DefaultActivityResult.Error)
            )
    }
}

ant the results look something like this:

parseResult()[version(0): resultCode=-1 -> result=com.myapp.fake.package.DefaultActivityResult$Success@5c313224]
parseResult()[version(1): resultCode=0 -> result=com.myapp.fake.package.DefaultActivityResult$Canceled@47044f7d]
parseResult()[version(2): resultCode=-1,234 -> result=com.myapp.fake.package.DefaultActivityResult$Error@7b14c61]

Is there a chance to print for example to increment the index to start from 1 or printing only the canonical names of the result data classes?

MeLean
  • 3,092
  • 6
  • 29
  • 43

0 Answers0