/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġ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 . compose . ui . test Ċ Ċ /** Ċ Ġ* ĠProvides Ġthe Ġmain Ġentry Ġpoint Ġinto Ġtesting . Ċ Ġ* Ċ Ġ* ĠTypically Ġimplemented Ġby Ġa Ġtest Ġrule . Ċ Ġ*/ Ċ interface ĠSem antics Node Interactions Provider Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFinds Ġa Ġsemantics Ġnode Ġthat Ġmatches Ġthe Ġgiven Ġcondition . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAny Ġsubsequent Ġoperation Ġon Ġits Ġresult Ġwill Ġexpect Ġexactly Ġone Ġelement Ġfound Ġ( unless ĊĠĠĠĠ Ġ* Ġ[ Semantics Node Interaction . assert DoesNotExist ] Ġis Ġused ) Ġand Ġwill Ġthrow Ġ[ AssertionError ] Ġif ĊĠĠĠĠ Ġ* Ġnone Ġor Ġmore Ġthan Ġone Ġelement Ġis Ġfound . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠFor Ġusage Ġpatterns Ġand Ġsemantics Ġconcepts Ġsee Ġ[ Semantics Node Interaction ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġuse Un merged Tree ĠFind Ġwithin Ġmerged Ġcomp os ables Ġlike ĠButtons . ĊĠĠĠĠ Ġ* Ġ@ see Ġon All Nodes Ġto Ġwork Ġwith Ġmultiple Ġelements ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Node ( ĊĠĠĠĠĠĠĠ Ġmatcher : ĠSem antics Matcher , ĊĠĠĠĠĠĠĠ Ġuse Un merged Tree : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ): ĠSem antics Node Interaction ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFinds Ġall Ġsemantics Ġnodes Ġthat Ġmatch Ġthe Ġgiven Ġcondition . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠIf Ġyou Ġare Ġworking Ġwith Ġelements Ġthat Ġare Ġnot Ġsupposed Ġto Ġoccur Ġmultiple Ġtimes Ġuse Ġ[ on Node ] ĊĠĠĠĠ Ġ* Ġinstead . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠFor Ġusage Ġpatterns Ġand Ġsemantics Ġconcepts Ġsee Ġ[ Semantics Node Interaction ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġuse Un merged Tree ĠFind Ġwithin Ġmerged Ġcomp os ables Ġlike ĠButtons . ĊĠĠĠĠ Ġ* Ġ@ see Ġon Node ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon All Nodes ( ĊĠĠĠĠĠĠĠ Ġmatcher : ĠSem antics Matcher , ĊĠĠĠĠĠĠĠ Ġuse Un merged Tree : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ): ĠSem antics Node Interaction Collection Ċ }