package Ġic fp 2 0 1 9 Ċ Ċ import Ġic fp 2 0 1 9 . model .* Ċ import Ġic fp 2 0 1 9 . str ategies . E at Closer Then Far ther Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠE at Closer Then F ather Tests Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Simple () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproblem 3 Input Ġ= Ġload Problem ( 3 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproblem 3 Ġ= Ġparse Desc ( problem 3 Input , Ġ" Test ") ĊĠĠĠĠĠĠĠ Ġval Ġgame State Ġ= ĠGameState ( problem 3 ). with Robot Position ( Robot Id . first , ĠPoint ( 2 0 , Ġ 0 )) ĊĠĠĠĠĠĠĠ Ġval Ġstrategy Ġ= ĠE at Closer Then Far ther . compute ( game State ) ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġstrategy ( Robot Id . first , Ġgame State ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Action . Move Right , Ġaction ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproblem Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ... XX ĊĠĠĠĠĠĠĠ Ġw @ ... ĊĠĠĠĠĠĠĠ Ġ. w . XX ĊĠĠĠ Ġ""" . to Problem () ĊĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGameState ( problem ) ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠE at Closer Then Far ther . compute ( gs ) ĊĠĠĠĠĠĠĠ Ġval Ġm 1 Ġ= Ġs ( Robot Id . first , Ġgs ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Action . Move Up , Ġm 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproblem Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ. w . XX ĊĠĠĠĠĠĠĠ Ġw @ ... ĊĠĠĠĠĠĠĠ Ġ. w . XX ĊĠĠĠ Ġ""" . to Problem () ĊĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGameState ( problem ) ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠE at Closer Then Far ther . compute ( gs ) ĊĠĠĠĠĠĠĠ Ġval Ġm 1 Ġ= Ġs ( Robot Id . first , Ġgs ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Action . Move Right , Ġm 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 4 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproblem Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ. w . XX ĊĠĠĠĠĠĠĠ Ġw @ w .. ĊĠĠĠĠĠĠĠ Ġ. w . XX ĊĠĠĠ Ġ""" . to Problem () ĊĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGameState ( problem ) ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠE at Closer Then Far ther . compute ( gs ) ĊĠĠĠĠĠĠĠ Ġval Ġm 1 Ġ= Ġs ( Robot Id . first , Ġgs ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( Action . Move Right , Ġm 1 ) ĊĠĠĠ Ġ} Ċ } Ċ