package Ġcom . ptr br ynt . kotlin _ bloc . test Ċ Ċ import Ġcom . ptr br ynt . kotlin _ bloc . core . Bloc Base Ċ import Ġio . mock k . every Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . on Each Ċ Ċ /** Ċ Ġ* ĠCreates Ġa Ġstub Ġresponse Ġfor Ġthe Ġ` state Flow ` Ġproperty Ġof Ġthe Ġgiven Ġ[ bloc ]. Ċ Ġ* Ċ Ġ* ĠUse Ġ[ when Listen ] Ġwhen Ġyou Ġwant Ġto Ġreturn Ġa Ġcan ned Ġ[ Flow ] Ġof Ġ[ State ] s Ġfor Ġa Ġ[ bloc ] Ġinstance . Ċ Ġ* Ċ Ġ* Ġ[ when Listen ] Ġalso Ġhandles Ġstub bing Ġthe Ġ` state ` Ġof Ġthe Ġ[ bloc ] Ġto Ġstay Ġin Ġsync Ġwith Ġthe Ġemitted Ċ Ġ* Ġstate . Ċ Ġ*/ Ċ fun Ġ< B Ġ: ĠB loc Base < State >, ĠState > Ġwhen Listen ( ĊĠĠĠ Ġb loc : ĠB , ĊĠĠĠ Ġstates : ĠFlow < State >, ĊĠĠĠ ĠinitialState : ĠState ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ Ġevery Ġ{ Ġb loc . state Flow Ġ} Ġanswers Ġ{ ĊĠĠĠĠĠĠĠ Ġstates . on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġb loc . state Ġ} Ġreturns Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( initialState Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġb loc . state Ġ} Ġreturns ĠinitialState ĊĠĠĠ Ġ} Ċ } Ċ