package Ġbr . com . help dev . valid ador Ċ Ċ import Ġandroid . support . annotation . Integer Res Ċ import Ġandroid . support . annotation . String Res Ċ import Ġandroid . support . test . espress o . Esp ress o Ċ import Ġandroid . support . test . espress o . Ui Controller Ċ import Ġandroid . support . test . espress o . View Action Ċ import Ġandroid . support . test . espress o . action . View Actions Ċ import Ġandroid . support . test . espress o . assertion . View Assertions Ċ import Ġandroid . support . test . espress o . matcher . View Matchers Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġorg . hamcrest . Matcher Ċ import Ġorg . hamcrest . Matchers Ċ Ċ object ĠE sp ress o Utils Ġ{ ĊĊĠĠĠ Ġfun Ġmatches Text (@ Integer Res Ġres Id TextView : ĠInt , Ġ@ String Res Ġres Id String : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( Matchers . all Of ( View Matchers . with Id ( res Id TextView ), ĠView Matchers . is Displayed ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( View Assertions . matches ( View Matchers . with Text ( res Id String ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinput Text And Close Keyboard (@ Integer Res Ġres Id Edit : ĠInt , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( Matchers . all Of ( View Matchers . with Id ( res Id Edit ), ĠView Matchers . is Displayed ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . replace Text ( value ), ĠView Actions . close Soft Keyboard ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Is Displayed View From Id (@ Integer Res Ġres Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMatch ers . all Of ( View Matchers . with Id ( res Id ), ĠView Matchers . is Displayed ()) ĊĠĠĠĠĠĠĠ Ġ). check ( View Assertions . matches ( View Matchers . is Displayed ())) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġperform Click And Check String Of View (@ Integer Res Ġres Id RadioButton : ĠInt , Ġ@ String Res Ġres Id String : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMatch ers . all Of ( View Matchers . with Id ( res Id RadioButton ), ĠView Matchers . is Displayed ()) ĊĠĠĠĠĠĠĠ Ġ). perform ( View Actions . click ()). check ( View Assertions . matches ( View Matchers . with Text ( res Id String ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġperform Click Spinner And Check Value (@ Integer Res Ġres Id Spinner : ĠInt , Ġposition : ĠInt , Ġ@ String Res Ġres Id String : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMatch ers . all Of ( View Matchers . with Id ( res Id Spinner ), ĠView Matchers . is Displayed ()) ĊĠĠĠĠĠĠĠ Ġ). perform ( View Actions . click ()) ĊĊĠĠĠĠĠĠĠ ĠE sp ress o . on Data ( Matchers . anything ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. at Position ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( View Assertions . matches ( View Matchers . with Text ( res Id String ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetText From Res Id (@ Integer Res Ġres Id : ĠInt ) Ġ= ĠgetText ( View Matchers . with Id ( res Id )) ĊĊĠĠĠ Ġfun ĠgetText ( matcher : ĠMatcher < View >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġ"" ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( matcher ). perform ( object Ġ: ĠView Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Constraints (): ĠMatcher < View > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠView Matchers . isAssignableFrom ( TextView :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetDescription (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" Getting Ġtext Ġfrom Ġa ĠTextView " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġperform ( ui Controller : ĠUi Controller , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Ġ= Ġview Ġas ĠTextView Ġ// Save , Ġbecause Ġof Ġcheck Ġin Ġget Constraints () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġtv . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} Ċ }