package Ġcom . de ev v dd . data . repository Ċ Ċ import Ġcom . de ev v dd . domain . datasource . Local DataSource Ċ import Ġcom . de ev v dd . domain . datasource . Remote DataSource Ċ import Ġcom . de ev v dd . domain . repository . Pickup Location Repository Ċ import Ġcom . de ev v dd . domain . type . Either Ċ import Ġcom . de ev v dd . test . utility . mock . Pickup Location Mock Data Ċ import Ġcom . google . common . truth . Truth Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġhe in ht et Ġde ev v dd @ gmail . com Ġon Ġ 0 9 , June , 2 0 2 1 Ċ Ġ*/ Ċ Ċ class ĠPick up Location Repository Impl Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrepository : ĠPick up Location Repository ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġremote DataSource : ĠRemote DataSource ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlocal DataSource : ĠLocal DataSource ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġremote DataSource Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġlocal DataSource Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġrepository Ġ= ĠPick up Location Repository Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote DataSource , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocal DataSource ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġreturn Ġactive Ġpick up Ġlocations Ġwhen Ġfetch Pickup Locations `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( remote DataSource . fetch Pickup Locations ()). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEither . Right ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPick up Location Mock Data . ACTIVE _ P ICK UP _ LI VE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġremote DataSource . fetch Pickup Locations () ĊĠĠĠĠĠĠĠ Ġverify ( remote DataSource ) ĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( result . right OrNull ()?. value ). isNotEmpty () ĊĠĠĠ Ġ} Ċ }