package Ġcom . saf eb oda . github user . repo . db Ċ Ċ import Ġcom . saf eb oda . data . db . Search Dao Ċ import Ġcom . saf eb oda . data . db . Search Dao Impl Ċ import Ġcom . saf eb oda . data . db . Search Db Dao Ċ import Ġcom . saf eb oda . github user . test Follower List Ċ import Ġcom . saf eb oda . github user . test Following List Ċ import Ġcom . saf eb oda . github user . test User Ċ import Ġcom . saf eb oda . github user . userName Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . co Verify Ċ import Ġio . mock k . mock k Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ Ċ @ Experimental Cor outines Api Ċ class ĠSearch Dao Impl Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdao Ġ= Ġmock k < Search Db Dao >( relax ed Ġ= Ġtrue ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġuser `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsearch Dao : ĠSearch Dao Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Dao Impl ( dao ) ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġdao . getUser ( userName ) Ġ}. returns ( test User ) ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġsearch Dao . getUser ( userName ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( userName , Ġuser ?. login ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 , Ġuser ?. followers Count ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġfollow ers `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsearch Dao : ĠSearch Dao Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Dao Impl ( dao ) ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġdao . getUser Follow ers ( userName , Ġ 1 0 , Ġ 0 ) Ġ}. returns ( emptyList ()) ĊĊĠĠĠĠĠĠĠ Ġvar Ġfollow ers Ġ= Ġsearch Dao . getUser Follow ers ( userName , Ġ 1 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġfollow ers . size ) ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġdao . getUser Follow ers ( userName , Ġ 1 0 , Ġ 0 ) Ġ}. returns ( test Follower List ) ĊĊĠĠĠĠĠĠĠ Ġfollow ers Ġ= Ġsearch Dao . getUser Follow ers ( userName , Ġ 1 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġfollow ers . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġuser Ġfollowing `() Ġ= Ġrun Blocking Test Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġsearch Dao : ĠSearch Dao Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Dao Impl ( dao ) ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġdao . getUser Following ( userName , Ġ 1 0 , Ġ 0 ) Ġ}. returns ( emptyList ()) ĊĊĠĠĠĠĠĠĠ Ġvar Ġfollowing Ġ= Ġsearch Dao . getUser Following ( userName , Ġ 1 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġfollowing . size ) ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġdao . getUser Following ( userName , Ġ 1 0 , Ġ 0 ) Ġ}. returns ( test Following List ) ĊĊĠĠĠĠĠĠĠ Ġfollowing Ġ= Ġsearch Dao . getUser Following ( userName , Ġ 1 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġfollowing . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġuser Ġinsert Ġin Ġdb `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsearch Dao : ĠSearch Dao Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Dao Impl ( dao ) ĊĊĠĠĠĠĠĠĠ Ġsearch Dao . insert User ( test User ) ĊĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġdao . insert User ( test User ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġfollow ers Ġlist Ġinsert Ġin Ġdb `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsearch Dao : ĠSearch Dao Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Dao Impl ( dao ) ĊĊĠĠĠĠĠĠĠ Ġsearch Dao . insert User Follow ers ( userName , Ġtest Follower List ) ĊĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġdao . insert User Follow ers ( userName , Ġtest Follower List ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġfollowing Ġlist Ġinsert Ġin Ġdb `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsearch Dao : ĠSearch Dao Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Dao Impl ( dao ) ĊĊĠĠĠĠĠĠĠ Ġsearch Dao . insert User Following ( userName , Ġtest Following List ) ĊĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ Ġdao . insert User Following ( userName , Ġtest Following List ) Ġ} ĊĠĠĠ Ġ} Ċ }