package Ġbiz . ko z io lek . ad vent of code Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ Ċ internal Ġclass ĠCoord s 2 d Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmap Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠ ĠCoord ( 0 , Ġ 0 ) Ġto Ġ 1 , ĊĠĠĠĠĠĠĠ ĠCoord ( 1 , Ġ 0 ) Ġto Ġ 2 , ĊĠĠĠĠĠĠĠ ĠCoord ( 2 , Ġ 0 ) Ġto Ġ 3 , ĊĠĠĠĠĠĠĠ ĠCoord ( 0 , Ġ 1 ) Ġto Ġ 4 , ĊĠĠĠĠĠĠĠ ĠCoord ( 1 , Ġ 1 ) Ġto Ġ 5 , ĊĠĠĠĠĠĠĠ ĠCoord ( 2 , Ġ 1 ) Ġto Ġ 6 , ĊĠĠĠĠĠĠĠ ĠCoord ( 0 , Ġ 2 ) Ġto Ġ 7 , ĊĠĠĠĠĠĠĠ ĠCoord ( 1 , Ġ 2 ) Ġto Ġ 8 , ĊĠĠĠĠĠĠĠ ĠCoord ( 2 , Ġ 2 ) Ġto Ġ 9 , ĊĠĠĠĠĠĠĠ ĠCoord ( 0 , Ġ 3 ) Ġto Ġ 1 0 , ĊĠĠĠĠĠĠĠ ĠCoord ( 1 , Ġ 3 ) Ġto Ġ 1 1 , ĊĠĠĠĠĠĠĠ ĠCoord ( 2 , Ġ 3 ) Ġto Ġ 1 2 , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Coord Plus () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( Coord ( 1 0 , Ġ 2 0 ), ĠCoord ( 3 , Ġ 1 1 ) Ġ+ ĠCoord ( 7 , Ġ 9 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Coord Minus () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( Coord (- 4 , Ġ 2 ), ĠCoord ( 3 , Ġ 1 1 ) Ġ- ĠCoord ( 7 , Ġ 9 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Coord Unary Minus () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( Coord ( 5 , Ġ- 6 ), Ġ- Coord (- 5 , Ġ 6 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Zip As Coord () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcoords Ġ= Ġ( 1 .. 4 ). zip As Coord ( 7 Ġdown To Ġ 4 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġcoords . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Coord ( 1 , Ġ 7 ), Ġcoords [ 0 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Coord ( 2 , Ġ 6 ), Ġcoords [ 1 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Coord ( 3 , Ġ 5 ), Ġcoords [ 2 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Coord ( 4 , Ġ 4 ), Ġcoords [ 3 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Map Get Width () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġmap . getWidth ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Map Get Height () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġmap . getHeight ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Map Get Adjacent Coords () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcorner Ġ= ĠCoord ( 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Adjacent Corner Ġ= Ġset Of ( Coord ( 1 , Ġ 0 ), ĠCoord ( 0 , Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Adjacent Corner , Ġmap . get Adjacent Coords ( corner , Ġinclude Diag onal Ġ= Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Adjacent Corner Diag onal Ġ= Ġexpected Adjacent Corner Ġ+ Ġset Of ( Coord ( 1 , Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Adjacent Corner Diag onal , Ġmap . get Adjacent Coords ( corner , Ġinclude Diag onal Ġ= Ġtrue )) ĊĊĠĠĠĠĠĠĠ Ġval Ġedge Ġ= ĠCoord ( 2 , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Adjacent Edge Ġ= Ġset Of ( Coord ( 2 , Ġ 1 ), ĠCoord ( 1 , Ġ 2 ), ĠCoord ( 2 , Ġ 3 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Adjacent Edge , Ġmap . get Adjacent Coords ( edge , Ġinclude Diag onal Ġ= Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Adjacent Edge Diag onal Ġ= Ġexpected Adjacent Edge Ġ+ Ġset Of ( Coord ( 1 , Ġ 1 ), ĠCoord ( 1 , Ġ 3 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Adjacent Edge Diag onal , Ġmap . get Adjacent Coords ( edge , Ġinclude Diag onal Ġ= Ġtrue )) ĊĊĠĠĠĠĠĠĠ Ġval Ġmiddle Ġ= ĠCoord ( 1 , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Adjacent Middle Ġ= Ġset Of ( Coord ( 1 , Ġ 0 ), ĠCoord ( 2 , Ġ 1 ), ĠCoord ( 1 , Ġ 2 ), ĠCoord ( 0 , Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Adjacent Middle , Ġmap . get Adjacent Coords ( middle , Ġinclude Diag onal Ġ= Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Adjacent Middle Diag onal Ġ= Ġexpected Adjacent Middle Ġ+ Ġset Of ( Coord ( 0 , Ġ 0 ), ĠCoord ( 2 , Ġ 0 ), ĠCoord ( 2 , Ġ 2 ), ĠCoord ( 0 , Ġ 2 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Adjacent Middle Diag onal , Ġmap . get Adjacent Coords ( middle , Ġinclude Diag onal Ġ= Ġtrue )) ĊĠĠĠ Ġ} Ċ } Ċ