package Ġcom . mir age . utils . game . maps Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . mir age . utils . Test Samples Ċ import Ġcom . mir age . utils . extensions . fromJson Ċ import Ġcom . mir age . utils . game . objects . extended . Extended Building Ċ import Ġcom . mir age . utils . game . objects . extended . Extended Entity Ċ import Ġcom . mir age . utils . game . objects . properties . Move Direction Ċ import Ġcom . mir age . utils . game . states . Simpl ified State Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠScene Loader Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest JSON () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtest State Ġ= ĠTest Samples . TEST _ TWO _ GAME _ OBJECTS . simpl ified DeepCopy () ĊĠĠĠĠĠĠĠ Ġval Ġequal State Ġ= ĠGson (). fromJson < Simpl ified State >( Gson (). toJson ( test State )) !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( test State , Ġequal State ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġload Scene Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Str Ġ= Ġ""" { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" width ": Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" height ": Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tile SetName ": Ġ" city ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tiles ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 , 3 , 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" coll isions ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , 2 , 3 , 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} """. trim Indent () ĊĠĠĠĠĠĠĠ Ġval Ġbuild ings Str Ġ= Ġ""" [ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" template ": Ġ" test - building ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ": Ġ" main - gate ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" x ": Ġ 0 . 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" y ": Ġ 0 . 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] """. trim Indent () ĊĠĠĠĠĠĠĠ Ġval Ġentities Str Ġ= Ġ""" [{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" template ": Ġ" test - entity ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" x ": Ġ 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" y ": Ġ 2 . 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tr ansparency Range ": Ġ 6 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" move Direction ": Ġ" UP _ RIGHT " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}] """. trim Indent () ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= ĠScene Loader (" "). load Map ( map Str . reader ()) ĊĠĠĠĠĠĠĠ Ġval Ġobjects Ġ= ĠScene Loader (" micro - test "). load InitialState ( build ings Str . reader (), Ġentities Str . reader ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( map . width , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( map . height , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( map . tile SetName , Ġ" city ") ĊĠĠĠĠĠĠĠ Ġassert ( map . is Tile Walk able ( 0 , 0 )) ĊĠĠĠĠĠĠĠ Ġassert ( map . is Tile Shoot able ( 0 , 0 )) ĊĠĠĠĠĠĠĠ Ġassert (! map . is Tile Walk able ( 1 , 0 )) ĊĠĠĠĠĠĠĠ Ġassert ( map . is Tile Shoot able ( 1 , 0 )) ĊĠĠĠĠĠĠĠ Ġassert (! map . is Tile Walk able ( 0 , 1 )) ĊĠĠĠĠĠĠĠ Ġassert (! map . is Tile Shoot able ( 0 , 1 )) ĊĠĠĠĠĠĠĠ Ġassert ( map . is Tile Walk able ( 1 , 1 )) ĊĠĠĠĠĠĠĠ Ġassert ( map . is Tile Shoot able ( 1 , 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġmap . get Tile ID ( 0 , Ġ 0 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġmap . get Tile ID ( 1 , Ġ 0 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġmap . get Tile ID ( 0 , Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġmap . get Tile ID ( 1 , Ġ 1 )) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Extended Building ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Ġ= Ġ" test - building ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġ 0 . 4 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġ 0 . 7 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" main - gate ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 6 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Rigid Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransparency Range Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġ" default " ĊĠĠĠĠĠĠĠ Ġ), Ġobjects . build ings [ 0 L ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Extended Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" test - entity - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Ġ= Ġ" test - entity ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġ 2 . 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 0 . 2 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 0 . 2 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Rigid Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġ 2 . 8 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove Direction Ġ= ĠMove Direction . UP _ RIGHT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Moving Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġ" default ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġ" idle " ĊĠĠĠĠĠĠĠ Ġ), Ġobjects . entities [ 0 L ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġload Building ByName Template Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠScene Loader (" micro - test "). load Building Template (" test - building ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( Extended Building ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Ġ= Ġ" test - building ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" main - gate ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 6 . 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 0 . 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Rigid Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransparency Range Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġ" default " ĊĠĠĠĠĠĠĠ Ġ), Ġobj ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġload Entity ByName Template Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠScene Loader (" moving - micro - test "). load Entity Template (" test - entity ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( Extended Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" test - entity - 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Ġ= Ġ" test - entity ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 0 . 2 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 0 . 2 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Rigid Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Moving Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Ġ= Ġ 2 . 8 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove Direction Ġ= ĠMove Direction . UP _ RIGHT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġ" default ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġ" idle " ĊĠĠĠĠĠĠĠ Ġ), Ġobj ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Exceptions () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert DoesNot Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScene Loader (" "). load Map (" ". reader ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScene Loader (" "). load Map (""" { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" objects ": Ġ[ ĊĠĠĠ Ġ{ ĊĠĠĠĠĠ Ġ" x ": Ġ 0 . 6 , ĊĠĠĠĠĠ Ġ" y ": Ġ 1 . 1 ĊĠĠĠ Ġ} ĊĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} """. trim Margin (). reader ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert DoesNot Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScene Loader (" "). load InitialState (" ". reader (), Ġ"". reader ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScene Loader (" "). load InitialState (""" { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" objects ": Ġ[ ĊĠĠĠ Ġ{ ĊĠĠĠĠĠ Ġ" x ": Ġ 0 . 6 , ĊĠĠĠĠĠ Ġ" y ": Ġ 1 . 1 ĊĠĠĠ Ġ} ĊĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} """. trim Margin (). reader (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" [ ĊĠĠĠ Ġ{ ĊĠĠĠĠĠ Ġ" x ": Ġ 0 . 6 , ĊĠĠĠĠĠ Ġ" y ": Ġ 1 . 1 ĊĠĠĠ Ġ} ĊĠ Ġ] """. trim Margin (). reader ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }