import Ġkotlin . test .* Ċ import Ġkotlin . comp arisons .* Ċ Ċ fun Ġ< T > Ġassert Sorted ( list : ĠList < T >, Ġcmp : ĠComparator < in ĠT >, Ġmessage : ĠString Ġ= Ġ"") Ġ{ ĊĠĠĠ Ġif Ġ( list . isEmpty () Ġ|| Ġlist . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġit Ġ= Ġlist . iterator () ĊĠĠĠ Ġvar Ġprev Ġ= Ġit . next () ĊĠĠĠ Ġwhile ( it . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcur Ġ= Ġit . next () ĊĠĠĠĠĠĠĠ Ġassert ( cmp . compare ( prev , Ġcur ) Ġ<= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġprev Ġ= Ġcur ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġbox () Ġ{ ĊĠĠĠ Ġfun ĠString . null If Empty () Ġ= Ġif Ġ( isEmpty ()) Ġnull Ġelse Ġthis ĊĠĠĠ ĠlistOf ( null , Ġ"", Ġ" a "). let Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Sorted ( it . sorted With ( null s First ( compare By Ġ{ Ġit Ġ})), Ġnull s First ( compare By Ġ{ Ġit Ġ})) ĊĠĠĠĠĠĠĠ Ġassert Sorted ( it . sorted With ( null s Last ( compare By Descending Ġ{ Ġit Ġ})), Ġcompare By Descending Ġ{ Ġit Ġ}) ĊĠĠĠĠĠĠĠ Ġassert Sorted ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . sorted With ( null s First ( compare By Descending Ġ{ Ġit . null If Empty () Ġ})), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull s First ( compare By Descending Ġ{ Ġit . null If Empty () Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ