package Ġcom . assessment . ui . main ĊĊ Ċ import Ġandroid . app . Activity Ċ import Ġandroidx . test . Instrumentation Registry Ċ import Ġandroidx . test . espress o . Esp ress o . on View Ċ import Ġandroidx . test . espress o . action . View Actions . click Ċ import Ġandroidx . test . espress o . matcher . View Matchers . with Id Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġandroidx . test . runner . Android JUnit 4 Ċ import Ġandroidx . test . runner . lifecycle . Activity Lifecycle Monitor Registry Ċ import Ġandroidx . test . runner . lifecycle . Stage Ċ import Ġcom . assessment . R Ċ import Ġcom . assessment . base . App Ċ import Ġcom . assessment . data . repository . News Repository Ċ import Ġcom . assessment . ui . details . Details Activity Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith ĊĊ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠMainActivity Test Ġ{ ĊĊĠĠĠ Ġ@ Rule Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġactivity Rule Ġ= ĠActivity Test Rule ( MainActivity :: class . java , Ġtrue , Ġfalse ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnews Repository : ĠNews Repository ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews Repository Ġ= Ġmock () ĊĊĠĠĠĠĠĠĠ Ġval Ġinstrument ation Ġ= ĠInstrument ation Registry . get Instrumentation () ĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= Ġinstrument ation . target Context . application Context Ġas ĠApp Ċ Ċ // ĠĠĠĠĠĠĠ Ġval Ġtest Component Ġ= ĠD agger Fake Application Component . builder () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. fake Application Module ( Fake Application Module ( news Repository )) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () Ċ // ĠĠĠĠĠĠĠ ĠApp . component Ġ= Ġtest Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnavigate () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . content View )). perform ( click ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= ĠgetActivity Instance () ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġactivity Ġis ĠDetails Activity ĊĠĠĠĠĠĠĠ ĠassertTrue ( b ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetActivity Instance (): ĠActivity Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= ĠarrayOf Null s < Activity >( 1 ) ĊĠĠĠĠĠĠĠ ĠInstrument ation Registry . get Instrumentation (). run On Main Sync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcurrent Activity : ĠActivity ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres umed Activities Ġ= ĠActivity Lifecycle Monitor Registry . getInstance (). get Activities In Stage ( Stage . RE SU MED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( res umed Activities . iterator (). hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Activity Ġ= Ġres umed Activities . iterator (). next () Ġas ĠActivity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity [ 0 ] Ġ= Ġcurrent Activity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġactivity [ 0 ] !! ĊĠĠĠ Ġ} Ċ } Ċ