package Ġfr . free . n rw . commons . custom selector . ui . selector Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Looper Ċ import Ġandroid . os . Looper . get Main Looper Ċ import Ġfr . free . n rw . commons . Test App Adapter Ċ import Ġfr . free . n rw . commons . Test Common s Application Ċ import Ġfr . free . n rw . commons . cont ributions . MainActivity Ċ import Ġfr . free . n rw . commons . custom selector . model . Folder Ċ import Ġfr . free . n rw . commons . custom selector . model . Image Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . jupiter . api . Assertions . assertNotNull Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġorg . ro bo lectric . Ro bo lectric Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . Shadow s Ċ import Ġorg . ro bo lectric . Shadow s . shadow Of Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġorg . wikipedia . App Adapter Ċ import Ġjava . lang . reflect . Method Ċ Ċ /** Ċ Ġ* ĠCustom ĠSelector ĠActivity ĠTest Ċ Ġ*/ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( sdk Ġ= Ġ[ 2 1 ], Ġapplication Ġ= ĠTest Common s Application :: class ) Ċ class ĠCustom Selector Activity Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġactivity : ĠCustom Selector Activity ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġup Ġthe Ġtests . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠĠĠĠĠ ĠApp Adapter . set ( Test App Adapter ()) ĊĊĠĠĠĠĠĠĠ Ġactivity Ġ= ĠRo bo lectric . build Activity ( Custom Selector Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠ Ġval ĠonCreate Ġ= Ġactivity . java Class . getDeclared Method (" onCreate ", ĠBundle :: class . java ) ĊĠĠĠĠĠĠĠ ĠonCreate . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠonCreate . invoke ( activity , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġactivity Ġnot Ġnull . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Activity NotNull () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNotNull ( activity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġchange Title Ġfunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Change Title () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfunc Ġ= Ġactivity . java Class . getDeclared Method (" change Title ", ĠString :: class . java ) ĊĠĠĠĠĠĠĠ Ġfunc . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġfunc . invoke ( activity , Ġ" test ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġon Folder Click Ġfunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest On Folder Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . on Folder Click ( 1 , Ġ" test ", Ġ 0 ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġselected Images Changed Ġfunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest On Selected Images Changed () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . on Selected Images Changed ( ArrayList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġon Done Ġfunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest On Done () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . on Done () ĊĠĠĠĠĠĠĠ Ġactivity . on Selected Images Changed ( ArrayList ( array ListOf ( Image ( 1 , Ġ" test ", ĠUri . parse (" test "), Ġ" test ", Ġ 1 )))); ĊĠĠĠĠĠĠĠ Ġactivity . on Done () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġon Back Pressed ĠFunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest On Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġon Destroy ĠFunction . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest On Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmethod : ĠMethod Ġ= ĠCustom Selector Activity :: class . java . getDeclared Method ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" on Destroy " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġmethod . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġmethod . invoke ( activity ) ĊĠĠĠ Ġ} Ċ }