/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠAlex ey ĠS ht ank o Ċ Ġ* Ċ Ġ* Ġ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 Ġio . s ht ank o . pic as ag allery . login Ċ Ċ import Ġandroid . support . test . Instrumentation Registry Ċ import Ġandroid . support . test . rule . Activity Test Rule Ċ import Ġandroid . support . test . runner . Android JUnit 4 Ċ import Ġandroid . test . suite builder . annotation . Large Test Ċ import Ġio . s ht ank o . pic as ag allery . util . Login Utils Ċ import Ġio . s ht ank o . pic as ag allery . ui . auth . Login And Auth Provider Ċ import Ġio . s ht ank o . pic as ag allery . ui . main . MainActivity Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Large Test Ċ class ĠMainActivity _ Active Account Successful Login Test Ġ{ ĊĊĠ Ġprivate Ġvar Ġaccount Name : ĠString Ġby ĠDeleg ates . notNull () ĊĠ Ġprivate Ġvar Ġstub Login And Auth : ĠStub Login And Auth Ġby ĠDeleg ates . notNull () ĊĊĠ Ġ@ get : Rule ĊĠ Ġval Ġlogin Activity Rule : ĠActivity Test Rule < MainActivity > Ġ= Ġobject Ġ: ĠActivity Test Rule < MainActivity >( ĊĠĠĠĠĠ ĠMainActivity :: class . java ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Activity La unched () Ġ{ ĊĠĠĠĠĠ Ġsuper . before Activity La unched () ĊĊĠĠĠĠĠ Ġaccount Name Ġ= ĠLogin Utils . set First Available Account As Active ( ĊĠĠĠĠĠĠĠĠĠ ĠInstrument ation Registry . getTarget Context ()) ĊĊĠĠĠĠĠ Ġ// ĠSet Ġstub Ġlogin Ġand Ġauth Ġas Ġsuccessful ĊĠĠĠĠĠ Ġstub Login And Auth Ġ= ĠStub Login And Auth ( account Name , Ġtrue , Ġtrue ) ĊĠĠĠĠĠ ĠLogin And Auth Provider . stub Login And Auth Ġ= Ġstub Login And Auth ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġafter Activity La unched () Ġ{ ĊĠĠĠĠĠ Ġ// ĠSet Ġup Ġthe Ġactivity Ġas Ġa Ġlistener Ġof Ġthe Ġstub Ġlogin Ġand Ġauth ĊĠĠĠĠĠ Ġ// stub Login And Auth . set Listener ( activity ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ After ĊĠ Ġfun Ġclean Up () Ġ{ ĊĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġaccount Name _ Is Displayed () Ġ{ ĊĠĠĠ Ġ// ĠThen Ġthe Ġaccount Ġname Ġis Ġshown ĊĠĠĠ ĠAssert . assertNull ( null ) ĊĠĠĠ Ġ// on View ( with Text ( account Name )). check ( matches ( is Displayed ())) ĊĠ Ġ} ĊĊ Ċ }