package Ġcom . pl ast ick arma . github api kt . search Ċ Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . channels . produce Ċ import Ġkotlinx . coroutines . channels . toList Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ @ Experimental Cor outines Api Ċ class ĠMerge Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` merge Ġcombin es Ġelements Ġfrom Ġall Ġgiven Ġchannels Ġinto Ġone `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmerged Ġ= Ġmerge ( this , ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . produce Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . produce Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . produce Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ). toList () ĊĠĠĠĠĠĠĠ ĠassertThat ( merged ). contains Exactly ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` merge Ġworks Ġwith Ġempty Ġchannels `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmerged Ġ= Ġmerge ( this , ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . produce Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . produce Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . produce Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend ( 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ). toList () ĊĠĠĠĠĠĠĠ ĠassertThat ( merged ). contains Exactly ( 1 , Ġ 2 , Ġ 5 , Ġ 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` merge Ġworks Ġwith Ġno Ġchannels `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmerged Ġ= Ġmerge < Int >( this , Ġempty List ()). toList () ĊĠĠĠĠĠĠĠ ĠassertThat ( merged ). isEmpty () ĊĠĠĠ Ġ} Ċ } Ċ