package Ġcom . robert om ir anda . app . features . post list . data Ċ Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġcom . robert om ir anda . app . utils . as Paged List Ċ import Ġcom . robert om ir anda . data . repository . local . Local Repository Ċ import Ġcom . robert om ir anda . data . models . Post Ċ import Ġio . mock k . confirm Verified Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġio . reactivex . Flow able Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ Ċ class ĠPost List Provider Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprovider : ĠPost List Provider ĊĠĠĠ Ġprivate Ġval Ġlocal Repository : ĠLocal Repository Ġ= Ġmock k () ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġinstant Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġprovider Ġ= ĠPost List Provider ( local Repository ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġload All Post Pag inated OK () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpost Ġ= Ġempty List < Post >(). as Paged List () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġlocal Repository . getAll Post Pag inated () Ġ} Ġreturns ĠFlow able . just ( post ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtest Observer Ġ= Ġprovider . getAll Post Pag inated (). test () ĊĊĠĠĠĠĠĠĠ Ġtest Observer . await Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Result ( post ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġlocal Repository . getAll Post Pag inated () Ġ} ĊĊĠĠĠĠĠĠĠ Ġconfirm Verified ( local Repository ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġload Post Post Id KO () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpost Error Ġ= ĠError (" My Ġerror ") ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġlocal Repository . getAll Post Pag inated () Ġ} Ġreturns ĠFlow able . error ( post Error ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtest Observer Ġ= Ġprovider . getAll Post Pag inated (). test () ĊĊĠĠĠĠĠĠĠ Ġtest Observer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Sub scribed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Error ( post Error ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġlocal Repository . getAll Post Pag inated () Ġ} ĊĊĠĠĠĠĠĠĠ Ġconfirm Verified ( local Repository ) ĊĠĠĠ Ġ} Ċ }