/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 Ġpt aylor Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ* Ċ Ġ*/ ĊĊ Ċ package Ġorg . pf ty lr . auto graph Ċ Ċ import Ġorg . pf ty lr . auto graph .* Ċ Ċ import Ġorg . jetbrains . spe k . api . Spe k Ċ import Ġorg . jetbrains . spe k . api . dsl .* Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNull Ċ Ċ class ĠUtils Spec Ġ: ĠSpe k ({ ĊĊĠĠĠĠ Ġdescribe (" split In toString s ") Ġ{ ĊĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// listOf (" test Ġ 1 ", Ġ"", ĠArrayList ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" one Ġitem ", Ġ" one ", ĠlistOf (" one ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" three Ġitems ", Ġ" one Ġtwo Ġthree ", ĠlistOf (" one ", Ġ" two ", Ġ" three ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" lots Ġof Ġspaces ", Ġ" Ġ Ġone Ġ Ġtwo ĠĠ Ġthree Ġ", ĠlistOf (" one ", Ġ" two ", Ġ" three ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" data Ġwith Ġcommas ", Ġ" Ġ Ġone , Ġ Ġtwo Ġ, Ġ Ġthree Ġ", ĠlistOf (" one ", Ġ" two ", Ġ" three ")) ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ Ġtest Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" con verts Ġa Ġlist Ġwith Ġ${ test [ 0 ]} ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( test [ 2 ], Ġsplit In toString s ( test [ 1 ] Ġas ĠString )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" to Num List ") Ġ{ ĊĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// listOf (" test Ġ 1 ", Ġ"", ĠArrayList ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" one Ġitem ", ĠlistOf (" 1 "), ĠlistOf ( 1 . 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" three Ġitems ", ĠlistOf (" 1 ", Ġ" 2 ", Ġ" 3 "), ĠlistOf ( 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 )), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" double ", ĠlistOf (" 3 . 1 4 "), ĠlistOf ( 3 . 1 4 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// listOf (" not Ġa Ġnumber ", ĠlistOf (" 1 ", Ġ" 2 ", Ġ" X "), Ġnull ) ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ Ġtest Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" con verts Ġa Ġlist Ġwith Ġ${ test [ 0 ]} ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( test [ 2 ] Ġas ĠList < Double >, Ġto Num List ( test [ 1 ] Ġas ĠList < String > )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" non Ġnumber Ġfirst ", ĠlistOf (" X ", Ġ" 2 ", Ġ" 3 ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" non Ġnumber Ġlast ", ĠlistOf (" 1 ", Ġ" 2 ", Ġ" X ")) ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ Ġtest Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" returns Ġnull Ġfor Ġa Ġlist Ġwith Ġ${ test [ 0 ]} ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( to Num List ( test [ 1 ] Ġas ĠList < String > )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" time 2 text ") Ġ{ ĊĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 0 L , Ġ" 0 0 : 0 0 : 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 5 0 0 L , Ġ" 0 0 : 0 0 : 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 0 0 0 L , Ġ" 0 0 : 0 0 : 0 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 6 0 0 0 0 L , Ġ" 0 0 : 0 1 : 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 3 6 0 0 0 0 0 L , Ġ" 0 1 : 0 0 : 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 8 2 8 0 0 0 0 0 L , Ġ" 2 3 : 0 0 : 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 2 0 6 0 1 0 0 0 L , Ġ" 0 5 : 4 3 : 2 1 ") ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ Ġtest Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" con verts Ġ${ test [ 0 ]} Ġto Ġ${ test [ 1 ]} ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( test [ 1 ], Ġtime 2 text ( test [ 0 ] Ġas ĠLong )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" create Decimal Format ") Ġ{ ĊĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 0 . 0 0 2 , Ġ" 0 . 0 0 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 0 . 0 1 , Ġ" 0 . 0 1 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 0 . 0 , Ġ" 0 . 0 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 . 0 , Ġ" 1 . 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 2 . 0 , Ġ" 2 . 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 9 . 0 , Ġ" 9 . 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 1 . 0 , Ġ" 1 1 . 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 2 1 . 1 , Ġ" 2 1 . 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 1 0 . 0 2 , Ġ" 1 1 0 ") ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ Ġtest Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" returns Ġ Ġ${ test [ 1 ]} Ġfor Ġ${ test [ 0 ]} ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( test [ 1 ], Ġcreate Decimal Format ( test [ 0 ] Ġas ĠDouble ). format ( test [ 0 ] Ġas ĠDouble )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊ Ċ })