11package ir .sharif .aichallenge .server .logic .model ;
22
3+ import ir .sharif .aichallenge .server .logic .handlers .exceptions .GameActionException ;
34import ir .sharif .aichallenge .server .logic .model .Colony .Colony ;
5+ import ir .sharif .aichallenge .server .logic .model .Colony .ColonyBuilder ;
6+ import ir .sharif .aichallenge .server .logic .model .ant .Ant ;
7+ import ir .sharif .aichallenge .server .logic .model .ant .AntType ;
8+ import ir .sharif .aichallenge .server .logic .model .cell .BaseCell ;
9+ import ir .sharif .aichallenge .server .logic .model .cell .Cell ;
410import ir .sharif .aichallenge .server .logic .model .map .MapGenerator ;
511import org .junit .jupiter .api .AfterEach ;
612import org .junit .jupiter .api .BeforeEach ;
713import org .junit .jupiter .api .Test ;
814
15+ import java .util .HashMap ;
16+
917import static org .junit .jupiter .api .Assertions .assertEquals ;
18+ import static org .junit .jupiter .api .Assertions .fail ;
1019
1120class GameJudgeTest {
1221 private GameJudge gameJudge ;
@@ -24,9 +33,61 @@ void tearDown() {
2433 }
2534
2635 @ Test
27- void getWinner () {
36+ void getWinner0 () {
2837 antRepository .getColony (0 ).decreaseBaseHealth (1 );
2938 Colony winner = gameJudge .getWinner ();
3039 assertEquals (antRepository .getColony (1 ),winner );
3140 }
41+
42+ @ Test
43+ void getWinner1 () {
44+ ColonyBuilder colonyBuilder1 = new ColonyBuilder (0 ,0 );
45+ colonyBuilder1 .setBaseCell (new BaseCell (0 ,0 ), 5 );
46+ Colony colony1 = colonyBuilder1 .getColony ();
47+
48+ ColonyBuilder colonyBuilder2 = new ColonyBuilder (1 , 1 );
49+ colonyBuilder2 .setBaseCell (new BaseCell (100 ,100 ),5 );
50+ Colony colony2 = colonyBuilder2 .getColony ();
51+ Ant ant = new Ant (0 ,1 ,100 ,100 , AntType .SOLDIER );
52+ try {
53+ colony2 .addNewAnt (ant );
54+ } catch (GameActionException e ) {
55+ e .printStackTrace ();
56+ fail ();
57+ }
58+ HashMap <Integer , Colony > colonyHashMap = new HashMap <>();
59+ colonyHashMap .put (colony1 .getId (), colony1 );
60+ colonyHashMap .put (colony2 .getId (), colony2 );
61+ antRepository = new AntRepository (colonyHashMap );
62+ gameJudge = new GameJudge (antRepository );
63+
64+ Colony winner = gameJudge .getWinner ();
65+ assertEquals (antRepository .getColony (1 ),winner );
66+ }
67+
68+ @ Test
69+ void getWinner2 () {
70+ ColonyBuilder colonyBuilder1 = new ColonyBuilder (0 ,0 );
71+ colonyBuilder1 .setBaseCell (new BaseCell (0 ,0 ), 6 );
72+ Colony colony1 = colonyBuilder1 .getColony ();
73+
74+ ColonyBuilder colonyBuilder2 = new ColonyBuilder (1 , 1 );
75+ colonyBuilder2 .setBaseCell (new BaseCell (100 ,100 ),5 );
76+ Colony colony2 = colonyBuilder2 .getColony ();
77+ Ant ant = new Ant (0 ,1 ,100 ,100 , AntType .WORKER );
78+ try {
79+ colony2 .addNewAnt (ant );
80+ } catch (GameActionException e ) {
81+ e .printStackTrace ();
82+ fail ();
83+ }
84+ HashMap <Integer , Colony > colonyHashMap = new HashMap <>();
85+ colonyHashMap .put (colony1 .getId (), colony1 );
86+ colonyHashMap .put (colony2 .getId (), colony2 );
87+ antRepository = new AntRepository (colonyHashMap );
88+ gameJudge = new GameJudge (antRepository );
89+
90+ Colony winner = gameJudge .getWinner ();
91+ assertEquals (antRepository .getColony (0 ),winner );
92+ }
3293}
0 commit comments