package Ġhex Ċ Ċ import Ġhex . status . O ngo ing Game Status Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠHex Game Creator Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġedges Ġfrom Ġup Ġwall `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠGame Creator . create Game ( 3 ). getStatus () ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġis ĠO ngo ing Game Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġboard Ġ= Ġstatus . board ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 0 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 1 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 1 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 1 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 2 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 3 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġedges Ġfrom Ġdown Ġwall `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠGame Creator . create Game ( 3 ). getStatus () ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġis ĠO ngo ing Game Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġboard Ġ= Ġstatus . board ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Down ( 2 Ġto Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Down ( 2 Ġto Ġ 0 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Down ( 2 Ġto Ġ 1 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Down ( 2 Ġto Ġ 2 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Down ( 2 Ġto Ġ 1 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Down ( 2 Ġto Ġ 2 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġboard . has Edge With Down ( 2 Ġto Ġ 3 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġedges Ġfrom Ġleft Ġwall `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠGame Creator . create Game ( 3 ). getStatus () ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġis ĠO ngo ing Game Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġboard Ġ= Ġstatus . board ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Left ( 0 Ġto Ġ 0 , Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Left ( 0 Ġto Ġ 0 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Left ( 1 Ġto Ġ 0 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Left ( 1 Ġto Ġ 0 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Left ( 2 Ġto Ġ 0 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Left ( 2 Ġto Ġ 0 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġboard . has Edge With Down ( 3 Ġto Ġ 0 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġedges Ġfrom Ġright Ġwall `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠGame Creator . create Game ( 3 ). getStatus () ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġis ĠO ngo ing Game Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġboard Ġ= Ġstatus . board ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Right ( 0 Ġto Ġ 2 , Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Right ( 0 Ġto Ġ 2 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Right ( 1 Ġto Ġ 2 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Right ( 1 Ġto Ġ 2 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Right ( 2 Ġto Ġ 2 , Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Right ( 2 Ġto Ġ 2 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġboard . has Edge With Right ( 3 Ġto Ġ 2 , Ġ 3 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġedges Ġfrom Ġcentral Ġcell `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠGame Creator . create Game ( 3 ). getStatus () ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġis ĠO ngo ing Game Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġboard Ġ= Ġstatus . board ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 1 Ġto Ġ 1 , Ġ 0 Ġto Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 1 Ġto Ġ 1 , Ġ 0 Ġto Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 1 Ġto Ġ 1 , Ġ 1 Ġto Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 1 Ġto Ġ 1 , Ġ 1 Ġto Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 1 Ġto Ġ 1 , Ġ 2 Ġto Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 1 Ġto Ġ 1 , Ġ 2 Ġto Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġboard . has Edge ( 1 Ġto Ġ 1 , Ġ 1 Ġto Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġedges Ġfrom Ġcell Ġnext Ġto Ġwall `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠGame Creator . create Game ( 3 ). getStatus () ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġis ĠO ngo ing Game Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġboard Ġ= Ġstatus . board ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 0 Ġto Ġ 1 , Ġ 0 Ġto Ġ 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 0 Ġto Ġ 1 , Ġ 1 Ġto Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 0 Ġto Ġ 1 , Ġ 1 Ġto Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge ( 0 Ġto Ġ 1 , Ġ 0 Ġto Ġ 2 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 1 , Ġ 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . has Edge With Up ( 0 Ġto Ġ 1 , Ġ 2 ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġboard . ad jacency Map [ Board Cell ( 0 Ġto Ġ 1 )]. get (). size () Ġ== Ġ 6 Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }