package Ġorg . cc ci . g to . android . common . compat . app Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . os . Build Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġandroidx . test . ext . junit . rules . Activity Scenario Rule Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . kotlin . any Ċ import Ġorg . mockito . kotlin . clear Inv ocations Ċ import Ġorg . mockito . kotlin . mock Ċ import Ġorg . mockito . kotlin . never Ċ import Ġorg . mockito . kotlin . verify Ċ import Ġorg . mockito . kotlin . verify No Interactions Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġorg . ro bo lectric . annotation . Config . NEW EST _ SDK Ċ import Ġorg . ro bo lectric . annotation . Config . OL DEST _ SDK Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Config ( sdk Ġ= Ġ[ OL DEST _ SDK , ĠBuild . VERSION _ CODES . P , ĠBuild . VERSION _ CODES . Q , ĠNEW EST _ SDK ]) Ċ class ĠActivity Test Ġ{ ĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġactivity Scenario Ġ= ĠActivity Scenario Rule ( Activity :: class . java ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcallbacks : ĠApplication . Activity Lifecycle Callbacks ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks Ġ= Ġmock () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Activity Lifecycle Callbacks Ġ- Ġunregister Activity Lifecycle Callbacks Compat `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( activity Scenario . scenario ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Activity Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġattach Ġcallbacks Ġto Ġthe Ġactivity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To State ( Lifecycle . State . STARTED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . register Activity Lifecycle Callbacks Compat ( callbacks ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To State ( Lifecycle . State . RE SU MED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callbacks ). on Activity Res umed ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġremove Ġcallbacks Ġfrom Ġactivity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . unregister Activity Lifecycle Callbacks Compat ( callbacks ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Inv ocations ( callbacks ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To State ( Lifecycle . State . STARTED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To State ( Lifecycle . State . RE SU MED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify No Interactions ( callbacks ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Activity Lifecycle Callbacks Ġ- Ġcallbacks Ġcleared Ġon Ġre - creation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( activity Scenario . scenario ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġattach Ġcallbacks Ġto Ġthe Ġinitial Ġactivity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Activity Ġ{ Ġit . register Activity Lifecycle Callbacks Compat ( callbacks ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen Ġwe Ġrecreate Ġthe Ġactivity , Ġthe Ġdestroy Ġcallback Ġshould Ġbe Ġtriggered , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbut Ġthere Ġshouldn 't Ġbe Ġany Ġstartup Ġcallbacks Ġtriggered ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecreate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Activity Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Lifecycle . State . RE SU MED , Ġstate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callbacks ). on Activity Destroyed ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callbacks , Ġnever ()). on Activity Created ( any (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callbacks , Ġnever ()). on Activity Started ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callbacks , Ġnever ()). on Activity Res umed ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Activity Lifecycle Callbacks Ġ- Ġon Activity Res umed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( activity Scenario . scenario ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmove To State ( Lifecycle . State . STARTED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Activity Ġ{ Ġit . register Activity Lifecycle Callbacks Compat ( callbacks ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmove To State ( Lifecycle . State . RE SU MED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( callbacks ). on Activity Res umed ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ