package Ġcard oft he dead . cards . events Ċ Ċ import Ġcard oft he dead . TestUtils . assert Event Ċ import Ġcard oft he dead . TestUtils . ch ased By Z omb ies Ċ import Ġcard oft he dead . TestUtils . game With Empty Deck Ċ import Ġcard oft he dead . TestUtils . getFirst Player Ċ import Ġcard oft he dead . TestUtils . take To Hand Ċ import Ġcard oft he dead . TestUtils . wrap Players As Spy Ks Ċ import Ġcard oft he dead . cards . actions . Ch ains aw Ċ import Ġcard oft he dead . cards . actions . Hide Ċ import Ġcard oft he dead . cards . actions . Slug ger Ċ import Ġcard oft he dead . cards . z omb ies . B ride Z ombie Ċ import Ġcard oft he dead . cards . z omb ies . L ad Z ombie Ċ import Ġcard oft he dead . cards . z omb ies . Z omb ies Ċ import Ġcard oft he dead . cards . z omb ies .` Z omb ies !!! ` Ċ import Ġcard oft he dead . game . Events Facade . Game . Event Cards . Play ed Fog Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . mock k . every Ċ Ċ class ĠF og Test Ġ: ĠString Spec ({ ĊĊĠĠĠ Ġ" should Ġplay ĠF og " Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĊĠĠĠĠĠĠĠ Ġval Ġgame Ġ= Ġgame With Empty Deck (). wrap Players As Spy Ks () ĊĊĠĠĠĠĠĠĠ Ġval Ġplayer 1 Ġ= Ġgame . getFirst Player (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtake To Hand ( Slug ger ( game ), ĠHide ( game )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch ased By Z omb ies ( L ad Z ombie ( game ), ĠB ride Z ombie ( game ), ĠZ omb ies ( game )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġplayer 2 Ġ= Ġgame . getNext Player ( player 1 ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtake To Hand ( Ch ains aw ( game )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch ased By Z omb ies (` Z omb ies !!! `( game )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġplayer 3 Ġ= Ġgame . getNext Player ( player 2 ) ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġplayer 1 . throw Dice ( deck Ġ= Ġany ()) Ġ} Ġreturns Ġ 0 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġplayer 2 . throw Dice ( deck Ġ= Ġany ()) Ġ} Ġreturns Ġ 0 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġplayer 3 . throw Dice ( deck Ġ= Ġany ()) Ġ} Ġreturns Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĊĠĠĠĠĠĠĠ Ġplayer 1 . play ( Fog ( game )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĊĠĠĠĠĠĠĠ Ġgame . players . sum By Ġ{ Ġit . getZ omb ies Around Count () Ġ} ĠshouldBe Ġ 7 Ġ// Ġall Ġz omb ies Ġin Ġthe Ġgame ĊĠĠĠĠĠĠĠ Ġgame . players . sum By Ġ{ Ġit . hand . size () Ġ} ĠshouldBe Ġ 3 Ġ// ĠSl ug ger , ĠHide , ĠCh ains aw ĊĠĠĠĠĠĠĠ Ġgame . assert Event ( Play ed Fog ( player 1 , Ġmap Of ( player 1 Ġto Ġ 4 , Ġplayer 2 Ġto Ġ 0 , Ġplayer 3 Ġto Ġ 3 ))) ĊĠĠĠ Ġ} Ċ }) Ċ