/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠSquare , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġapp . cash . tur bine Ċ Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġkotlinx . coroutines . suspend C ancellable Coroutine Ċ Ċ /** ĠA Ġflow Ġthat Ġnever Ġemits Ġanything . Ġ*/ Ċ fun Ġnever Flow (): ĠFlow < Nothing > Ġ= Ġflow Ġ{ ĊĠ Ġsuspend C ancellable Coroutine Ġ{ ĊĠĠĠ Ġ// ĠDo Ġnothing ! ĊĠ Ġ} Ċ } Ċ Ċ expect Ġfun Ġsuspend Test ( body : Ġsuspend ĠCor outine Scope . () Ġ-> ĠUnit ) Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠThrowable > ĠassertThrows ( body : Ġ() Ġ-> ĠUnit ): ĠT Ġ{ ĊĠ Ġtry Ġ{ ĊĠĠĠ Ġbody () ĊĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠ Ġif Ġ( t Ġis ĠT ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġt ĊĠĠĠ Ġ} ĊĠĠĠ Ġthrow Ġt ĊĠ Ġ} ĊĠ Ġthrow ĠAssertionError ( ĊĠĠĠ Ġ" Expected Ġbody Ġto Ġthrow Ġ${ T :: class . simple Name } Ġbut Ġit Ġcompleted Ġsuccessfully " ĊĠ Ġ) Ċ } Ċ