package Ġorg . fog _ rock . fre xt ension ss ample Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . test . espress o . Esp ress o Ċ import Ġandroidx . test . espress o . action . View Actions Ċ import Ġandroidx . test . espress o . assertion . View Assertions Ċ import Ġandroidx . test . espress o . intent . Intent s Ċ import Ġandroidx . test . espress o . matcher . View Matchers Ċ import Ġandroidx . test . ext . junit . rules . Activity Scenario Rule Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . ext . truth . content . Intent Subject Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠActivity Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtext Message Ġ= Ġ" Hello ĠWorld !" ĊĠĠĠ Ġprivate Ġval Ġempty Message Ġ= Ġ"" ĊĊĠĠĠ Ġ@ get : Rule Ġval Ġactivity Scenario Rule Ġ= ĠActivity Scenario Rule ( MainActivity :: class . java ) ĊĊĠĠĠ Ġ@ Before Ġfun Ġbefore () Ġ{ ĊĠĠĠĠĠĠĠ ĠInt ents . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Ġfun Ġafter () Ġ{ ĊĠĠĠĠĠĠĠ ĠInt ents . release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠContext . startActivity (): ĠBundle ãģª ãģĹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test Ġfun ĠstartActivity _ without Bundle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPerform Ġview Ġactions . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . button _ test _ startActivity )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġintent . ĊĠĠĠĠĠĠĠ ĠIntent Subject . assertThat ( Intent s . get Intent s (). first ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Component Class ( Sub Activity :: class . java . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextras (). isNull () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġviews . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . textView _ message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( View Assertions . matches ( View Matchers . with Text ( empty Message ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠContext . startActivity (): ĠBundle ãģĤãĤĬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test Ġfun ĠstartActivity _ with Bundle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPerform Ġview Ġactions . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . edit Text _ putExtra _ message )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . replace Text ( text Message )) ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . button _ test _ startActivity )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġintent . ĊĠĠĠĠĠĠĠ ĠIntent Subject . assertThat ( Intent s . get Intent s (). first ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Component Class ( Sub Activity :: class . java . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextras (). string ( Sub Activity . ARGS _ MESSAGE ). isEqualTo ( text Message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġviews . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . textView _ message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( View Assertions . matches ( View Matchers . with Text ( text Message ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠContext . startActivity (): Ġ åĪ¥ ãģ® Activity è¡¨ç¤º ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test Ġfun ĠstartActivity _ other Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPerform Ġview Ġactions . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . button _ show _ fragment MainActivity )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġintent . ĊĠĠĠĠĠĠĠ ĠIntent Subject . assertThat ( Intent s . get Intent s (). first ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Component Class ( Fragment MainActivity :: class . java . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠContext . startActivity And Finish All (): ĠBundle ãģª ãģĹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test Ġfun ĠstartActivity And Finish All _ without Bundle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPerform Ġview Ġactions . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . button _ test _ startActivity And Finish All )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġintent . ĊĠĠĠĠĠĠĠ ĠIntent Subject . assertThat ( Intent s . get Intent s (). first ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Component Class ( Sub Activity :: class . java . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Flags ( Intent . FLAG _ ACTIVITY _ CLEAR _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextras (). isNull () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġviews . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . textView _ message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( View Assertions . matches ( View Matchers . with Text ( empty Message ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠContext . startActivity And Finish All (): ĠBundle ãģĤãĤĬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test Ġfun ĠstartActivity And Finish All _ with Bundle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPerform Ġview Ġactions . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . edit Text _ putExtra _ message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . replace Text ( text Message )) ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . button _ test _ startActivity And Finish All )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġintent . ĊĠĠĠĠĠĠĠ ĠIntent Subject . assertThat ( Intent s . get Intent s (). first ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Component Class ( Sub Activity :: class . java . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Flags ( Intent . FLAG _ ACTIVITY _ CLEAR _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextras (). string ( Sub Activity . ARGS _ MESSAGE ). isEqualTo ( text Message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġviews . ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( View Matchers . with Id ( R . id . textView _ message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( View Assertions . matches ( View Matchers . with Text ( text Message ))) ĊĠĠĠ Ġ} Ċ }