package Ġru . alex mary in . spac ext imes _ rx . ui . espress o _ utils Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroidx . test . espress o . Ui Controller Ċ import Ġandroidx . test . espress o . View Action Ċ import Ġorg . hamcrest . Base Matcher Ċ import Ġorg . hamcrest . Description Ċ import Ġorg . hamcrest . Matcher Ċ import Ġru . alex mary in . spac ext imes _ rx . ui . adapters . Base ListAdapter Ċ import Ġkotlin . reflect . K Class Ċ Ċ fun Ġclick Item With Id ( id : ĠInt ) Ġ Ġ= Ġobject Ġ: ĠView Action Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Constraints (): ĠMatcher < View >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= Ġ" Click Ġon Ġa Ġchild Ġview Ġspecified Ġid ." ĊĊĠĠĠ Ġoverride Ġfun Ġperform ( ui Controller : ĠUi Controller ?, Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( view . findViewById ( id ) Ġas ĠView ). perform Click () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġlong Click Item With Id ( id : ĠInt ) Ġ Ġ= Ġobject Ġ: ĠView Action Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Constraints (): ĠMatcher < View >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= Ġ" Long Ġclick Ġon Ġa Ġchild Ġview Ġspecified Ġid ." ĊĊĠĠĠ Ġoverride Ġfun Ġperform ( ui Controller : ĠUi Controller ?, Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( view . findViewById ( id ) Ġas ĠView ). perform Long Click () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T : ĠView Data Binding > Ġwith Binding Adapter ( cls : ĠK Class < T >): ĠMatcher < RecyclerView . ViewHolder > Ġ= Ġobject Ġ: ĠBase Matcher < RecyclerView . ViewHolder >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdescription ?. append Text (" No Ġview Ġholder Ġfound Ġwith Ġ${ cls . simple Name }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmatches ( item : ĠAny ): ĠBoolean Ġ= Ġcls . is Instance (( item Ġas ĠBase ListAdapter . Data ViewHolder ). binding ) Ċ }