/* Ċ Ġ* ĠProject : Ġme te o Ċ Ġ* ĠFile : ĠMatcher . kt Ċ Ġ* Ċ Ġ* ĠCreated Ġby Ġfat ta zz o Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠG ian luc a ĠF att ar si . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . gmail . fat ta zz o . me te o . matcher Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ListView Ċ import Ġorg . hamcrest . Base Matcher Ċ import Ġorg . hamcrest . Description Ċ import Ġorg . hamcrest . Type Safe Matcher ĊĊ Ċ /** Ċ Ġ* Ġ@ author Ġfat ta zz o Ċ Ġ* Ċ Ġ* Ċ Ġ* Ġdate : Ġ 0 2 / 0 3 / 1 6 Ċ Ġ*/ Ċ object ĠMatcher Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE seg ue Ġil Ġmatch Ġsul Ġper Ġuna ĠViewGroup Ġnon Ġv u ota . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠMatcher ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġis NotEmpty : Ġorg . hamcrest . Matcher < View > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġobject Ġ: ĠType Safe Matcher < View >() Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġmatches S af ely ( view : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview Ġis ĠViewGroup Ġ&& Ġview . child Count Ġ> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" ViewGroup Ġis Ġnot Ġempty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE seg ue Ġil Ġmatch Ġdell ' es at to Ġnumero Ġdi Ġchildren . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsize Ġnumero Ġdi Ġchildren Ġda Ġmatch are ĊĠĠĠĠ Ġ* Ġ@ return ĠMatcher ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġchild Count ( size : ĠInt ): Ġorg . hamcrest . Matcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠType Safe Matcher < View >() Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġmatches S af ely ( view : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview Ġis ĠViewGroup Ġ&& Ġview . child Count Ġ== Ġsize ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" ViewGroup Ġshould Ġhave Ġ$ size Ġitems ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE seg ue Ġil Ġmatch Ġsul Ġper Ġuna ĠViewGroup Ġnon Ġv u ota . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠMatcher ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġmin Children Count ( min Children : ĠInt ): Ġorg . hamcrest . Matcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠType Safe Matcher < View >() Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġmatches S af ely ( view : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview Ġis ĠViewGroup Ġ&& Ġview . child Count Ġ>= Ġmin Children ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" ViewGroup Ġshould Ġhave Ġat Ġleast Ġ$ min Children Ġitems ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE seg ue Ġil Ġmatch Ġsul Ġnumero Ġdi Ġchild Ġdi Ġuna ĠListView . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsize Ġnumero Ġdi Ġchild ĊĠĠĠĠ Ġ* Ġ@ return ĠMatcher ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwith List Size ( size : ĠInt ): Ġorg . hamcrest . Matcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠType Safe Matcher < View >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġmatches S af ely ( view : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( view Ġas ĠListView ). child Count Ġ== Ġsize ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" ListView Ġshould Ġhave Ġ$ size Ġitems ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE seg ue Ġil Ġmatch Ġsul Ġper Ġuna ĠListView Ġnon Ġv u ota . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠMatcher ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġwith List NotEmpty (): Ġorg . hamcrest . Matcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠType Safe Matcher < View >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġmatches S af ely ( view : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( view Ġas ĠListView ). child Count Ġ> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" ListView Ġis Ġnot Ġempty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith RecyclerView ( re cyclerView Id : ĠInt ): ĠRecyclerView Matcher Ġ= ĊĠĠĠĠĠĠĠ ĠRecyclerView Matcher ( re cyclerView Id ) ĊĊĠĠĠ Ġfun Ġwith ToString Value ( value : ĠString ): Ġorg . hamcrest . Matcher < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠBase Matcher < View >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches ( item : ĠAny ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem . toString () Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ