package Ġcom . mu h ron . kotlin q Ċ Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ class ĠSelect Many Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsequence Of ( 1 , Ġ 2 , Ġ 3 ). select Many Ġ{ Ġnum Ġ-> Ġrepeat ( num , Ġ 3 ) Ġ}. toList () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result , ĠlistOf ( 1 , Ġ 1 , Ġ 1 , Ġ 2 , Ġ 2 , Ġ 2 , Ġ 3 , Ġ 3 , Ġ 3 )); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsequence Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). select Many Ġ{ Ġnum , Ġindex Ġ-> Ġrepeat ( num , Ġindex Ġ+ Ġ 1 ) Ġ}. toList () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result , ĠlistOf ( 1 , Ġ 2 , Ġ 2 , Ġ 3 , Ġ 3 , Ġ 3 , Ġ 4 , Ġ 4 , Ġ 4 , Ġ 4 , Ġ 5 , Ġ 5 , Ġ 5 , Ġ 5 , Ġ 5 )); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsequence Of ( 1 , Ġ 2 , Ġ 3 ). select Many ({ Ġs Ġ-> Ġrange ( 1 , Ġs ) Ġ}, Ġ{ Ġs , Ġc Ġ-> Ġs Ġto Ġc Ġ}). toList () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result , ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġto Ġ 1 , Ġ 2 Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġto Ġ 1 , Ġ 3 Ġto Ġ 2 , Ġ 3 Ġto Ġ 3 )); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsequence Of ( 1 , Ġ 2 , Ġ 3 ). select Many ({ Ġs , Ġi Ġ-> Ġrepeat ( s , Ġi Ġ+ Ġ 1 ) Ġ}, Ġ{ Ġs , Ġc Ġ-> Ġs Ġto Ġc Ġ}). toList () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( result , ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġto Ġ 2 , Ġ 2 Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġto Ġ 3 , Ġ 3 Ġto Ġ 3 , Ġ 3 Ġto Ġ 3 )); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest No Thrown Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġexception Sequence < Int >(). select Many Ġ{ Ġit Ġ-> Ġsequence Of ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġexception Sequence < Int >(). select Many Ġ{ Ġit , Ġindex Ġ-> Ġsequence Of ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ