/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . fragment . app Ċ Ċ import Ġandroidx . fragment . app . test . Fragment Test Activity Ċ import Ġandroidx . fragment . test . R Ċ import Ġandroidx . test . annotation . Ui Thread Test Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . filters . Small Test Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . google . common . truth . Truth . assert With Message Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Small Test Ċ class ĠOn Back Pressed Callback Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġvar Ġactivity Rule Ġ= ĠActivity Test Rule ( Fragment Test Activity :: class . java ) ĊĊĠĠĠ Ġ@ Ui Thread Test ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest On Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġactivity Rule . activity ĊĠĠĠĠĠĠĠ Ġvar Ġon Back Pressed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġactivity . add On Back Pressed Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfragment Manager Ġ= Ġactivity . support FragmentManager ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠStrict Fragment () ĊĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . content , Ġfragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Back Stack (" back _ stack ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠ Ġfragment Manager . execute Pending Transactions () ĊĠĠĠĠĠĠĠ ĠassertThat ( fragment Manager . find Fragment ById ( R . id . content )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Same As ( fragment ) ĊĠĠĠĠĠĠĠ Ġactivity . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġassert With Message (" On Back Pressed Callbacks Ġshould Ġbe Ġcalled Ġbefore ĠFragment Manager ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( on Back Pressed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ ĠassertThat ( fragment Manager . find Fragment ById ( R . id . content )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNull () ĊĠĠĠ Ġ} Ċ } Ċ