/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠGoogle ĠLLC Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// 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 Ġcom . google . samples . apps . sun flower Ċ Ċ import Ġandroid . accessibility service . Accessibility Service Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . compose . ui . test . assertIs Displayed Ċ import Ġandroidx . compose . ui . test . junit 4 . create Android Compose Rule Ċ import Ġandroidx . compose . ui . test . on Node With Text Ċ import Ġandroidx . navigation . Navigation . find Nav Controller Ċ import Ġandroidx . test . espress o . Esp ress o . on View Ċ import Ġandroidx . test . espress o . action . View Actions . click Ċ import Ġandroidx . test . espress o . assertion . View Assertions Ċ import Ġandroidx . test . espress o . intent . Intent s Ċ import Ġandroidx . test . espress o . intent . Intent s . int ended Ċ import Ġandroidx . test . espress o . intent . matcher . Intent Matchers . has Action Ċ import Ġandroidx . test . espress o . intent . matcher . Intent Matchers . has Extra Ċ import Ġandroidx . test . espress o . intent . matcher . Intent Matchers . has Type Ċ import Ġandroidx . test . espress o . matcher . View Matchers Ċ import Ġandroidx . test . espress o . matcher . View Matchers . with Id Ċ import Ġandroidx . test . ext . junit . rules . Activity Scenario Rule Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġcom . google . samples . apps . sun flower . utilities . cho oser Ċ import Ġcom . google . samples . apps . sun flower . utilities . test Plant Ċ import Ġorg . hamcrest . Core Matchers . all Of Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠPl ant Detail Fragment Test Ġ{ Ċ Ċ // ĠĠĠ Ġ@ Rule Ċ // ĠĠĠ Ġ@ Jvm Field Ċ // ĠĠĠ Ġval Ġactivity Test Rule Ġ= ĠActivity Scenario Rule ( G arden Activity :: class . java ) ĊĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġcompose Test Rule Ġ= Ġcreate Android Compose Rule < G arden Activity >() ĊĊĠĠĠ Ġ// ĠNote Ġthat Ġkeeping Ġthese Ġreferences Ġis Ġonly Ġsafe Ġif Ġthe Ġactivity Ġis Ġnot Ġre created . ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġactivity : ĠComponent Activity ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġjump To Plant Detail Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġcompose Test Rule . activity Rule . scenario . on Activity Ġ{ Ġg arden Activity Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Ġ= Ġg arden Activity ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle (). apply Ġ{ Ġput String (" plant Id ", Ġ" mal us - p um ila ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller ( activity , ĠR . id . nav _ host ). navigate ( R . id . plant _ detail _ fragment , Ġbundle ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Plant Name () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġon View ( View Matchers . with Text (" Apple ")) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( View Assertions . matches ( View Matchers . is Displayed ())) ĊĠĠĠĠĠĠĠ Ġcompose Test Rule . on Node With Text (" Apple "). assertIs Displayed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Share Text Intent () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshare Text Ġ= Ġactivity . getString ( R . string . share _ text _ plant , Ġtest Plant . name ) ĊĊĠĠĠĠĠĠĠ ĠInt ents . init () ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . action _ share )). perform ( click ()) ĊĠĠĠĠĠĠĠ Ġintended ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcho oser ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Action ( Intent . ACTION _ SEND ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Type (" text / plain "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Extra ( Intent . EXTRA _ TEXT , Ġshare Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠInt ents . release () ĊĊĠĠĠĠĠĠĠ Ġ// Ġdismiss Ġthe ĠShare ĠDialog ĊĠĠĠĠĠĠĠ ĠInstrument ation Registry . get Instrumentation () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ui Automation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform Global Action ( Accessibility Service . GLOBAL _ ACTION _ BACK ) ĊĠĠĠ Ġ} Ċ } Ċ