package Ġpm . gn osis . tests . utils ĊĊ Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Observable Emitter Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertTrue ĊĊ Ċ class ĠTest Observable Factory < T > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġemitter List Ġ= ĠArrayList < Observable Emitter < T >>() ĊĊĠĠĠ Ġfun Ġget (): ĠObservable < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠObservable . create ({ Ġemitter List . add ( it ) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġassert Count ( count : ĠInt ): ĠTest Observable Factory < T > Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( String . format (" Should Ġhave Ġ% s Ġsubscription !", Ġcount ), Ġcount , Ġemitter List . size ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġassert All Sub scribed (): ĠTest Observable Factory < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( emitter Ġin Ġemitter List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue (" Should Ġbe Ġsubscribed !", Ġ! emitter . is Disposed ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġassert All Canceled (): ĠTest Observable Factory < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( emitter Ġin Ġemitter List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue (" Should Ġbe Ġdisposed !", Ġemitter . is Disposed ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsuccess ( t : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( emitter Ġin Ġemitter List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onNext ( t ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemitter List . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġerror ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( emitter Ġin Ġemitter List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onError ( t ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemitter List . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcomplete () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( emitter Ġin Ġemitter List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onComplete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemitter List . clear () ĊĠĠĠ Ġ} Ċ } Ċ