package Ġat . sun il son . test core Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . test . Test Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . test . reset Main Ċ import Ġkotlinx . coroutines . test . set Main Ċ import Ġorg . junit . jupiter . api . extension . After Each Callback Ċ import Ġorg . junit . jupiter . api . extension . BeforeEach Callback Ċ import Ġorg . junit . jupiter . api . extension . Extension Context Ċ import Ġorg . junit . jupiter . api . extension . Parameter Context Ċ import Ġorg . junit . jupiter . api . extension . Parameter Resolver Ċ Ċ class ĠTest Coroutine Dispatcher Extension Ġ: ĠBefore Each Callback , ĠAfter Each Callback , ĠParameter Resolver Ġ{ ĊĠĠĠ Ġ@ Suppress Lint (" New Api ") Ġ// ĠOnly Ġused Ġin Ġunit Ġtests ĊĠĠĠ Ġoverride Ġfun Ġsupports Parameter ( ĊĠĠĠĠĠĠĠ Ġparameter Context : ĠParameter Context ?, ĊĠĠĠĠĠĠĠ Ġextension Context : ĠExtension Context ? ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġparameter Context ?. parameter ?. type Ġ=== Ġtest Dispatcher . java Class ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġresolve Parameter ( ĊĠĠĠĠĠĠĠ Ġparameter Context : ĠParameter Context ?, ĊĠĠĠĠĠĠĠ Ġextension Context : ĠExtension Context ? ĊĠĠĠ Ġ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtest Dispatcher ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġtest Dispatcher Ġ= ĠTest Coroutine Dispatcher () ĊĊĠĠĠ Ġoverride Ġfun ĠbeforeEach ( context : ĠExtension Context ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠDispatch ers . set Main ( test Dispatcher ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠafterEach ( context : ĠExtension Context ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠDispatch ers . reset Main () ĊĠĠĠĠĠĠĠ Ġtest Dispatcher . cleanup Test Cor outines () ĊĠĠĠ Ġ} Ċ } Ċ