package Ġcom . ig or vd . bitcoin charts . features . charts . presentation . chart Ċ Ċ import Ġandroidx . test . core . app . Activity Scenario Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġandroidx . test . espress o . intent . Intent s . int ended Ċ import Ġandroidx . test . espress o . intent . matcher . Intent Matchers Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġcom . ig or vd . bitcoin charts . Assets Loader Ċ import Ġcom . ig or vd . bitcoin charts . Base Robot Ċ import Ġcom . ig or vd . bitcoin charts . R Ċ import Ġcom . ig or vd . bitcoin charts . enqueue IO Error Ċ import Ġcom . ig or vd . bitcoin charts . enqueue Response Ċ import Ġcom . ig or vd . bitcoin charts . features . charts . domain . model . Chart Type Ċ import Ġcom . ig or vd . bitcoin charts . features . charts . presentation . chart . Bitcoin Chart Activity Ċ import Ġokhttp 3 . mock webserver . Mock WebServer Ċ import Ġorg . hamcrest . Matchers . all Of Ċ Ċ class ĠBitcoin Chart Activity Robot ( private Ġval Ġserver : ĠMock WebServer ) Ġ: ĊĠĠĠ ĠBase Robot < Bitcoin Chart Activity Robot >() Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscenario : ĠActivity Scenario < Bitcoin Chart Activity > ĊĊĠĠĠ Ġfun Ġlaunch Activity () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠBitcoin Chart Activity . new Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Provider . getApplicationContext (), ĠChart Type . MARK ET _ PRICE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġscenario Ġ= ĠActivity Scenario . launch ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgiven Charts 2 0 0 Response () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠAssets Loader . load Asset (" charts _ response _ 2 0 0 . json ") ĊĠĠĠĠĠĠĠ Ġserver . enqueue Response ( response , Ġ 2 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgiven Charts 5 0 0 Response () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġserver . enqueue Response (" {}", Ġ 5 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgiven IO Error () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġserver . enqueue IO Error ("{} ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwhen Click On Try Again () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġclick On View ( R . id . bt Try Again ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthen Title Displayed ( title : ĠString ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Is Displayed ( R . id . tv Toolbar Title ) ĊĠĠĠĠĠĠĠ Ġcheck View Contain Text ( R . id . tv Toolbar Title , Ġtitle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthen Description Displayed ( description : ĠString ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Is Displayed ( R . id . tv Chart Description ) ĊĠĠĠĠĠĠĠ Ġcheck View Contain Text ( R . id . tv Chart Description , Ġdescription ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthen Error View Displayed () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Is Hidden ( R . id . cl Content ) ĊĠĠĠĠĠĠĠ Ġcheck Is Displayed ( R . id . error View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthen Error View Hidden () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Is Hidden ( R . id . error View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthen Error Img Displayed ( drawable Res : ĠInt ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Is Displayed ( R . id . iv Error Icon ) ĊĠĠĠĠĠĠĠ Ġcheck With Drawable ( R . id . iv Error Icon , Ġdrawable Res ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthen ErrorMessage Displayed ( text Res : ĠInt ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Is Displayed ( R . id . tv ErrorMessage ) ĊĠĠĠĠĠĠĠ Ġcheck View Contain Text ( R . id . tv ErrorMessage , Ġtext Res ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthen Try Again Button Displayed () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Is Displayed ( R . id . bt Try Again ) ĊĠĠĠ Ġ} Ċ }