package Ġcom . no hex . a oc . day 4 Ċ Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe ĊĊ Ċ internal Ġclass ĠBoard Test Ġ: ĠString Spec ({ ĊĊĠĠĠ Ġval Ġvalues Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠ 2 2 , Ġ 1 3 , Ġ 1 7 , Ġ 1 1 , Ġ 0 , ĊĠĠĠĠĠĠĠĠ 8 , Ġ 2 , Ġ 2 3 , Ġ 4 , Ġ 2 4 , ĊĠĠĠĠĠĠĠĠ 2 1 , Ġ 9 , Ġ 1 4 , Ġ 1 6 , Ġ 7 , ĊĠĠĠĠĠĠĠĠ 6 , Ġ 1 0 , Ġ 3 , Ġ 1 8 , Ġ 5 , ĊĠĠĠĠĠĠĠĠ 1 , Ġ 1 2 , Ġ 2 0 , Ġ 1 5 , Ġ 1 9 ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ" fail Ġon Ġnon - square Ġvalue Ġlist " Ġ{ ĊĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ ĠBoard (( 1 .. 5 ). to Mutable List ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" win ning Ġboard " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= ĠBoard ( values . to Mutable List ()) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin ĠlistOf ( 2 2 , Ġ 1 3 , Ġ 1 7 , Ġ 1 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . check ( i ). is Completed ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġsut . check ( 0 ). is Completed ĠshouldBe Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" win ning Ġcolumn " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsut Ġ= ĠBoard ( values . to Mutable List ()) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin ĠlistOf ( 2 2 , Ġ 8 , Ġ 2 1 , Ġ 6 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . check ( i ). is Completed ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠ Ġsut . check ( 1 ). is Completed ĠshouldBe Ġtrue ĊĠĠĠ Ġ} Ċ }) Ċ