/* Ċ Ġ* ĠCopyright Ġ( c ) Ġha ip ham Ġ 2 0 1 9 . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠAny Ġattempt Ġto Ġreproduce Ġthis Ġsource Ġcode Ġin Ġany Ġform Ġshall Ġbe Ġmet Ġwith Ġlegal Ġactions . Ċ Ġ*/ Ċ Ċ package Ġorg . swift en . redux . core Ċ Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . join All Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ import Ġjava . util . Collections . synchronized List Ċ Ċ /** ĠCreated Ġby Ġv ie th ai . ph am Ġon Ġ 2 0 1 9 / 0 3 / 0 1 Ġ*/ Ċ class ĠSubscriber ID Test Ġ{ ĊĠ Ġ@ Test ĊĠ Ġfun Ġ` Creating Ġunique ĠIDs Ġwith Ġdefault ĠID Ġprovider Ġshould Ġnot Ġcreate Ġduplicate ĠIDs `() Ġ{ ĊĠĠĠ Ġ// ĠSetup ĊĠĠĠ Ġval Ġiteration Ġ= Ġ 1 0 0 0 0 0 0 ĊĠĠĠ Ġval Ġid Providers Ġ= Ġsynchronized List ( array ListOf < I Unique ID Provider >()) ĊĊĠĠĠ Ġ// ĠWhen ĊĠĠĠ Ġval Ġjobs Ġ= Ġ( 0 Ġuntil Ġiteration ). map Ġ{ ĊĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . IO ) Ġ{ Ġid Providers . add ( Default Unique ID Provider ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠ Ġjobs . join All () ĊĊĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠ Ġval Ġgenerated IDs Ġ= Ġid Providers . map Ġ{ Ġit . unique ID Ġ}. toSet () ĊĠĠĠĠĠ ĠassertEquals ( generated IDs . size , Ġiteration ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ