package Ġcom . la uren ce g arm strong . kw amp . core Ċ Ċ import Ġio . kot lint est . data . forall Ċ import Ġio . kot lint est . shouldBe Ċ import Ġio . kot lint est . specs . String Spec Ċ import Ġio . kot lint est . tables . row Ċ import Ġkotlin . reflect . K Parameter Ċ import Ġkotlin . reflect . full . create Type Ċ Ċ internal Ġclass ĠExtension Test Ġ: ĠString Spec ({ ĊĠĠĠ Ġ" Partition Ġa Ġlist " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbase List Ġ= ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġforall ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 0 , ĠPair < List < Int >, ĠList < Int >>( listOf (), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ))), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 1 , ĠPair < List < Int >, ĠList < Int >>( listOf ( 1 ), ĠlistOf ( 2 , Ġ 3 , Ġ 4 , Ġ 5 ))), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 2 , ĠPair < List < Int >, ĠList < Int >>( listOf ( 1 , Ġ 2 ), ĠlistOf ( 3 , Ġ 4 , Ġ 5 ))), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 3 , ĠPair < List < Int >, ĠList < Int >>( listOf ( 1 , Ġ 2 , Ġ 3 ), ĠlistOf ( 4 , Ġ 5 ))), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 4 , ĠPair < List < Int >, ĠList < Int >>( listOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), ĠlistOf ( 5 ))), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 5 , ĠPair < List < Int >, ĠList < Int >>( listOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ), ĠlistOf ())) ĊĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġpartition Point , Ġexpected Outcome Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase List . split At ( partition Point ). shouldBe ( expected Outcome ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" split Ġat Ġsingle Ġitem Ġlist " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbase List Ġ= ĠlistOf ( 1 ) ĊĠĠĠĠĠĠĠ Ġbase List . split At ( 1 ). shouldBe ( Pair < List < Int >, ĠList < Int >>( listOf ( 1 ), ĠlistOf ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" can Ġbe Ġapplied Ġto Ġparameter Ġ( int Ġto ĠLong )" Ġ{ ĊĠĠĠĠĠĠĠĠ 1 . can Be Applied To Type ( object Ġ: ĠK Parameter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġannotations Ġ= Ġempty List < Annotation >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġindex Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġis Optional Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġis Var arg Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġkind Ġ= ĠK Parameter . Kind . VALUE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" some Long " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtype Ġ= ĠLong :: class . create Type () ĊĊĠĠĠĠĠĠĠ Ġ}) ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Double Ġis Ġwhole " Ġ{ ĊĠĠĠĠĠĠĠ Ġforall ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 0 . 0 , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 1 . 0 , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow (- 1 . 0 , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 2 . 0 , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 5 0 . 0 , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow (- 5 0 . 0 , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 1 2 4 3 2 1 3 5 0 3 5 1 . 0 , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow (- 0 . 1 , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow (- 1 2 3 1 2 4 3 1 2 . 5 1 3 5 1 3 1 2 4 , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow ( 1 0 3 . 0 0 0 0 0 5 , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow (- 1 3 5 3 . 1 2 4 1 2 , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġnum , Ġwhole Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum . is Whole () ĠshouldBe Ġwhole ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ })