package Ġcom . j rod rig ue z va . rick and mort y kotlin . ui . favorite Ċ Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġapp . cash . tur bine . test Ċ import Ġcom . j rod rig ue z va . rick and mort y kotlin . domain . repository . R ick And M ort y Repository Ċ import Ġcom . j rod rig ue z va . rick and mort y kotlin . test core . Base Test Ċ import Ġcom . j rod rig ue z va . rick and mort y kotlin . test core . test Character Ċ import Ġcom . j rod rig ue z va . rick and mort y kotlin . test core . test Characters Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . co Verify Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . flow . flow Of Ċ import Ġorg . am sh ove . k lu ent . shouldBe EqualTo Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġkotlin . time . Experimental Time Ċ Ċ @ Experimental Time Ċ @ Experimental Cor outines Api Ċ class ĠF avorite ViewModel Test Ġ: ĠBaseTest () Ġ{ ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġrepository : ĠR ick And M ort y Repository ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠF avorite ViewModel ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġvar Ġinstant Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this , Ġrelax Unit Fun Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠF avorite ViewModel ( repository ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Listening Ġto ĠFlow Ġemits Ġthe Ġlist Ġfrom Ġthe Ġserver `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġrepository . get Character F avorites () Ġ} Ġreturns Ġflow Of ( test Characters ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . characters . test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Characters ĠshouldBe EqualTo Ġexpect Item () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect Complete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` onClick Favorite Ġshould Ġbe Ġupdate Ġfavorite `() Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . onClick Favorite ( test Character ) ĊĊĠĠĠĠĠĠĠ Ġco Verify ( exact ly Ġ= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . update Favorite ( test Character ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ