package Ġorg . k lips . dsl Ċ Ċ import Ġorg . k lips . engine .* Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue ĊĊ Ċ class ĠT ap Rule Dsl Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Move Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠT ap Rules () ĊĠĠĠĠĠĠĠ Ġr . input . flush Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( Adjacent ( 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt ( 1 0 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor ( 1 0 0 , Ġ 1 0 0 0 , ĠActor Kind . A im , Ġ 7 f , Ġ 1 0 0 f , ĠState . On March ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor Selected ( 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġ}. blink ( Tap Cell ( 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue (" Move Ġmust Ġhappen .") Ġ{ Ġr . on Move Ġ} ĊĊĠĠĠĠĠĠĠ Ġr . on Move Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġr . input . blink ( Tap Cell ( 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue (" Move Ġmust Ġhappen Ġagain .") Ġ{ Ġr . on Move Ġ} ĊĊĠĠĠĠĠĠĠ Ġr . on Move Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġr . input . blink ( Tap Cell ( 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertFalse (" Move Ġmust ĠNOT Ġhappen Ġagain .") Ġ{ Ġr . on Move Ġ} ĊĊĠĠĠĠĠĠĠ Ġr . on Move Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġr . input . blink ( Tap Cell ( 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertFalse (" Move Ġmust ĠNOT Ġhappen Ġagain .") Ġ{ Ġr . on Move Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Move Test 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠT ap Rules () ĊĠĠĠĠĠĠĠ Ġr . input . assert ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAd jacent ( 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt ( 1 0 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor ( 1 0 0 , Ġ 1 0 0 0 , ĠActor Kind . A im ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor Selected ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġ). blink ( Tap Cell ( 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue (" Move Ġmust Ġhappen .") Ġ{ Ġr . on Move Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Attack Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠT ap Rules () ĊĠĠĠĠĠĠĠ Ġr . input . assert ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor ( 1 0 0 , Ġ 1 0 0 0 , ĠActor Kind . A im ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt ( 1 0 0 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAd jacent ( 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt ( 1 0 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor ( 1 0 1 , Ġ 1 0 0 1 , ĠActor Kind . Comm ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor Selected ( 1 0 1 ) ĊĠĠĠĠĠĠĠ Ġ). blink ( Tap Actor ( 1 0 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue (" Attack Ġmust Ġhappen .") Ġ{ Ġr . on Attack Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Attack Test 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠT ap Rules () ĊĠĠĠĠĠĠĠ Ġr . input . assert ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor ( 1 0 0 , Ġ 1 0 0 0 , ĠActor Kind . A im ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt ( 1 0 0 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAd jacent ( 1 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt ( 1 0 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor ( 1 0 1 , Ġ 1 0 0 1 , ĠActor Kind . Comm ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor Selected ( 1 0 1 ) ĊĠĠĠĠĠĠĠ Ġ). blink ( Tap Actor ( 1 0 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue (" Attack Ġmust Ġhappen .") Ġ{ Ġr . on Attack Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġon Deploy Test (){ ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠT ap Rules () ĊĠĠĠĠĠĠĠ Ġr . input . assert ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor ( 1 0 0 , Ġ 1 0 0 0 , ĠActor Kind . Comm , Ġ 1 0 0 f , Ġ 1 0 0 f , ĠState . On March ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor Selected ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġ). blink ( Tap Actor ( 1 0 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue (" Deploy Ġmust Ġhappen .") Ġ{ Ġr . on Deploy Ġ} ĊĠĠĠ Ġ} Ċ }