/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 . ĠJetBrains Ġs . r . o . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġjet brains . datal ore . plot . base . stat Ċ Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠMulti Ordering Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġempty Keys () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġordering Ġ= ĠMulti Ordering ( emptyList < Int >()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ordering . sorted Copy Of Keys (). isEmpty ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġstrings Ġ= Ġordering . sorted Copy ( emptyList < String >()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( strings . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsorted Copy () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkeys Ġ= ĠlistOf ( 4 , Ġ 3 , Ġ 1 , Ġ 2 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġordering Ġ= ĠMulti Ordering ( keys ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlist 1 Ġ= ĠlistOf (" Four ", Ġ" Three ", Ġ" One ", Ġ" Two ", Ġ" One ") ĊĠĠĠĠĠĠĠ Ġval Ġlist 2 Ġ= ĠlistOf (' d ', Ġ' c ', Ġ' a ', Ġ' b ', Ġ' a ') ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf (" One ", Ġ" One ", Ġ" Two ", Ġ" Three ", Ġ" Four "), Ġordering . sorted Copy ( list 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf (' a ', Ġ' a ', Ġ' b ', Ġ' c ', Ġ' d '), Ġordering . sorted Copy ( list 2 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsort er Copy Of Keys () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkeys Ġ= ĠlistOf ( 4 , Ġ 3 , Ġ 1 , Ġ 2 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġordering Ġ= ĠMulti Ordering ( keys ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 ), Ġordering . sorted Copy Of Keys ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnull Keys () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkeys Ġ= ĠlistOf ( 4 , Ġnull , Ġnull , Ġ 2 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġordering Ġ= ĠMulti Ordering ( keys ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( null , Ġnull , Ġ 1 , Ġ 2 , Ġ 4 ), Ġordering . sorted Copy Of Keys ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġna Keys () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkeys Ġ= ĠlistOf ( 4 . 0 , ĠDouble . NaN , ĠDouble . NaN , Ġ 2 . 0 , Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġordering Ġ= ĠMulti Ordering ( keys ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 . 0 , Ġ 2 . 0 , Ġ 4 . 0 , ĠDouble . NaN , ĠDouble . NaN ), Ġordering . sorted Copy Of Keys ()) ĊĠĠĠ Ġ} Ċ }