@ file : Suppress (" ClassName ") Ċ Ċ package Ġdev . g ler oy . iv an ache ss . api . broker Ċ Ċ import Ġdev . g ler oy . iv an ache ss . io . Color Representation Ċ import Ġdev . g ler oy . iv an ache ss . io . Game Representation Ċ import Ġdev . g ler oy . iv an ache ss . io . User Representation Ċ import Ġio . mock k . confirm Verified Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . messaging . simp . Simp Messaging Template Ċ import Ġjava . time . Offset DateTime Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠSto mp WebSocket Sender Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmessaging Template : ĠSimp Messaging Template ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġweb Socket Sender : ĠSto mp WebSocket Sender ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠbeforeEach () Ġ{ ĊĠĠĠĠĠĠĠ Ġmessaging Template Ġ= Ġmock k () ĊĊĠĠĠĠĠĠĠ Ġweb Socket Sender Ġ= ĠSto mp WebSocket Sender ( messaging Template ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun ĠafterEach () Ġ{ ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( messaging Template ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass Ġsend Game Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġgame Representation Ġ= ĠGame Representation . Complete ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreation Date Ġ= ĠOffset DateTime . now (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhite Player Ġ= ĠUser Representation . Public ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpseudo Ġ= Ġ" white ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreation Date Ġ= ĠOffset DateTime . now (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrole Ġ= ĠUser Representation . Role . Simple , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblack Player Ġ= ĠUser Representation . Public ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠUUID . randomUUID (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpseudo Ġ= Ġ" black ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreation Date Ġ= ĠOffset DateTime . now (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrole Ġ= ĠUser Representation . Role . Simple , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġturn Color Ġ= ĠColor Representation . White , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= ĠGame Representation . State . In Game , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Color Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpieces Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmoves Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpossible Moves Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġsend Ġgame Ġrepresentation `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmessaging Template . convert And Send ( Sto mp WebSocket Sender . Game Path , Ġgame Representation ) Ġ} Ġreturns ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessaging Template . convert And Send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Sto mp WebSocket Sender . Game Path }-${ game Representation . id }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame Representation , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġreturns ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb Socket Sender . send Game ( game Representation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ Ġmessaging Template . convert And Send ( Sto mp WebSocket Sender . Game Path , Ġgame Representation ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessaging Template . convert And Send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Sto mp WebSocket Sender . Game Path }-${ game Representation . id }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame Representation , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ