Issac Peter
Issac Peter

Reputation: 144

Test case for verifying intent

override fun getLaunchIntent(context: Context, params: Map<String, String>): Intent {
    return when (params["Activity"]) {
        "OneActivity" -> Intent(context,OneActivity::class.java)
        "TwoActivity" -> Intent(context, TwoActivity::class.java)
        else -> Intent(context, ThirdActivity::class.java)
    }
}

When we pass OneActivity as param, we need to verify that Intent is getting called/created. Can you guide me on this.

Upvotes: 1

Views: 221

Answers (1)

Ivan Wooll
Ivan Wooll

Reputation: 4323

Might I make a suggestion?

You don't really need to test that Intent creation works, that's not the logic under test here. It makes more sense to me to alter your function to the below which could then be tested with a simple Unit test.

fun getLaunchClass(params: Map<String, String>): Class<*> {
    return when (params["Activity"]) {
        "OneActivity" -> OneActivity::class.java
        "TwoActivity" -> TwoActivity::class.java
        else -> ThirdActivity::class.java
    }
}

Upvotes: 1

Related Questions