package Ġcom . github . p av los pt . ref actored umb rella . repo Ċ Ċ import Ġcom . github . p av los pt . ref actored umb rella . db . github . Github Repo Entity Ċ import Ġcom . github . p av los pt . ref actored umb rella . test . Mock Github Local Repo Ċ import Ġcom . github . p av los pt . ref actored umb rella . test . UnitTest Ċ import Ġcom . github . p av los pt . ref actored umb rella . test . test Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . Flow Preview Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ Ċ @ Opt In ( Flow Preview :: class , ĠExperimental Cor outines Api :: class ) Ċ class ĠOb serve Github Repos UseCase Test Ġ: ĠUnit Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ should _ return _ repos _ from _ local _ repo () Ġ= ĊĠĠĠĠĠĠĠ Ġcor outines Test Rule . test Dispatcher . run Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocal Repos Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGithub Repo Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Id Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremote Id Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" foo ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstars Ġ= Ġ 1 2 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Avatar Url Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGithub Repo Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Id Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremote Id Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" bar ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstars Ġ= Ġ 4 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Avatar Url Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmock Github Local Repo Ġ= ĠMock Github Local Repo ( observed Github Repos Ġ= Ġlocal Repos ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcom . github . p av los pt . ref actored umb rella . use case . github . Ob serve Github Repos UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Coroutine Dispatch ers Ġ= Ġtest App Coroutine Dispatch ers , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgithub Local Repo Ġ= Ġmock Github Local Repo ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse Case ( Unit ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuse Case . observe (). test Ġ{ ĠassertEquals ( local Repos , Ġexpect Item ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ