Skip to content

Commit 25e6993

Browse files
committed
Made some test for updating victory points
1 parent 07ed4cc commit 25e6993

File tree

3 files changed

+134
-5
lines changed

3 files changed

+134
-5
lines changed

src/Player.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,7 @@ void Player::updateVictoryPoints()
278278
if(largestArmy){
279279
sum_points+=2;
280280
}
281-
282-
281+
victoryPoints = sum_points;
283282
}
284283

285284
/**

tests/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ run: $(TEST_FILE)
88
./$(TEST_FILE)
99

1010
$(TEST_FILE): ../$(EXECUTABLE) $(TEST_LINK_FILES) $(wildcard *.cpp)
11-
$(CXX) $(CXXFLAGS) $(TEST_INCLUDE) $(wildcard *.cpp) -o $@ $(TEST_LINK_FILES) $(OBJECTS_NO_MAIN) $(LDFLAGS)
11+
$(CXX) $(CXXFLAGS) -I$(TEST_INCLUDE) $(wildcard *.cpp) -o $@ $(TEST_LINK_FILES) $(OBJECTS_NO_MAIN) $(LDFLAGS)
1212

1313
.PHONY: clean
1414
clean:

tests/test_Player.cpp

Lines changed: 132 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "UnitTest++.h"
99
#include "Player.h"
1010
#include "GameBoard.h"
11+
#include "DevelopmentCard.h"
1112

1213

1314
/**
@@ -230,11 +231,140 @@ TEST(Buy_DevCard_False){
230231

231232

232233
//INSERT VICTORY POINT TESTS HERE
234+
TEST(UpdateVictoryPoints_Settlements){
235+
GameBoard test_board({"tester"});
236+
Player& test_player = test_board.getPlayer(0);
233237

238+
CHECK(test_player.getVictoryPoints() == 0);
234239

235-
//INSERT DEV CARD TESTS HERE
240+
Coordinate start1(0,0);
241+
test_board.PlaceSettlement(start1, test_player);
236242

243+
CHECK(test_player.getVictoryPoints() == 1);
244+
}
245+
246+
TEST(UpdateVictoryPoints_cities){
247+
GameBoard test_board({"tester"});
248+
Player& test_player = test_board.getPlayer(0);
249+
250+
CHECK(test_player.getVictoryPoints() == 0);
251+
252+
Coordinate start1(0,0);
253+
test_board.PlaceSettlement(start1, test_player);
254+
255+
CHECK(test_player.getVictoryPoints() == 1);
256+
257+
test_board.UpgradeSettlement(start1);
258+
CHECK(test_player.getVictoryPoints() == 2);
259+
}
260+
261+
TEST(UpdateVictoryPoints_longestRoad){
262+
GameBoard test_board({"tester"});
263+
Player& test_player = test_board.getPlayer(0);
264+
265+
CHECK(test_player.getVictoryPoints() == 0);
237266

238-
//INSERT TRADING TESTS HERE
267+
Coordinate start1(0,0);
268+
test_board.PlaceSettlement(start1, test_player);
239269

270+
CHECK(test_player.getVictoryPoints() == 1);
271+
272+
test_board.PlaceRoad(start1, Coordinate(-1,1), test_player);
273+
test_board.PlaceRoad(Coordinate(-1,1), Coordinate(-1,2), test_player);
274+
test_board.PlaceRoad(Coordinate(-1,2), Coordinate(0,2), test_player);
275+
test_board.PlaceRoad(Coordinate(0,2), Coordinate(0,3), test_player);
276+
test_board.PlaceRoad(Coordinate(0,3), Coordinate(1,3), test_player);
277+
278+
CHECK(test_player.getVictoryPoints() == 3);
279+
}
280+
281+
TEST(UpdateVictoryPoints_VictoryCards){
282+
GameBoard test_board({"tester"});
283+
Player& test_player = test_board.getPlayer(0);
284+
285+
CHECK(test_player.getVictoryPoints() == 0);
286+
CHECK(test_player.getVictoryPointsWithoutCards() == 0);
287+
288+
std::unique_ptr<DevelopmentCard> test_VictoryCard = std::unique_ptr<DevelopmentCard>(new VictoryPointCard());
289+
test_player.addOre(1);
290+
test_player.addWheat(1);
291+
test_player.addWool(1);
292+
293+
test_player.buyCard(test_VictoryCard);
294+
CHECK(test_player.getVictoryPoints() == 1);
295+
CHECK(test_player.getVictoryPointsWithoutCards() == 0);
296+
}
297+
298+
TEST(UpdateVictoryPoints_LargestArmy){
299+
GameBoard test_board({"tester1", "tester2"});
300+
Player& test_player = test_board.getPlayer(0);
301+
Player& opponent = test_board.getPlayer(1);
302+
303+
CHECK(test_player.getVictoryPoints() == 0);
304+
305+
test_player.addOre(3);
306+
test_player.addWheat(3);
307+
test_player.addWool(3);
308+
309+
std::unique_ptr<DevelopmentCard> test_KnightCard = std::unique_ptr<DevelopmentCard>(new KnightCard());
310+
test_player.buyCard(test_KnightCard);
311+
test_player.buyCard(test_KnightCard);
312+
test_player.buyCard(test_KnightCard);
313+
314+
test_board.PlaceSettlement(Coordinate(0,0), opponent);
315+
// WILL NOT WORK UNTIL THE KNIGHT WORKS
316+
// test_player.playKnight(Coordinate(0,1), opponent);
317+
// test_player.playKnight(Coordinate(0,1), opponent);
318+
// test_player.playKnight(Coordinate(0,1), opponent);
319+
//
320+
// CHECK(test_player.getVictoryPoints() == 2);
321+
}
322+
323+
TEST(UpdateVictoryPoints_all){
324+
GameBoard test_board({"tester", "opponent"});
325+
Player& test_player = test_board.getPlayer(0);
326+
Player& opponent = test_board.getPlayer(1);
327+
328+
CHECK(test_player.getVictoryPoints() == 0);
329+
330+
Coordinate start1(0,0);
331+
332+
test_board.PlaceSettlement(start1, test_player);
333+
334+
CHECK(test_player.getVictoryPoints() == 1);
335+
336+
test_board.PlaceRoad(start1, Coordinate(-1,1), test_player);
337+
test_board.PlaceRoad(Coordinate(-1,1), Coordinate(-1,2), test_player);
338+
test_board.PlaceRoad(Coordinate(-1,2), Coordinate(0,2), test_player);
339+
test_board.PlaceRoad(Coordinate(0,2), Coordinate(0,3), test_player);
340+
test_board.PlaceRoad(Coordinate(0,3), Coordinate(1,3), test_player);
341+
342+
CHECK(test_player.getVictoryPoints() == 3);
343+
344+
test_board.UpgradeSettlement(start1);
345+
346+
CHECK(test_player.getVictoryPoints() == 4);
347+
348+
std::unique_ptr<DevelopmentCard> test_VictoryCard = std::unique_ptr<DevelopmentCard>(new VictoryPointCard());
349+
test_player.addOre(4);
350+
test_player.addWheat(4);
351+
test_player.addWool(4);
352+
353+
test_player.buyCard(test_VictoryCard);
354+
CHECK(test_player.getVictoryPoints() == 5);
355+
356+
std::unique_ptr<DevelopmentCard> test_KnightCard = std::unique_ptr<DevelopmentCard>(new KnightCard());
357+
test_player.buyCard(test_KnightCard);
358+
test_player.buyCard(test_KnightCard);
359+
test_player.buyCard(test_KnightCard);
360+
361+
// WILL NOT WORK UNTIL THE KNIGHT WORKS
362+
// test_board.PlaceSettlement(Coordinate(0,6), opponent);
363+
//
364+
// test_player.playKnight(Coordinate(0,5), opponent);
365+
// test_player.playKnight(Coordinate(0,5), opponent);
366+
// test_player.playKnight(Coordinate(0,5), opponent);
367+
//
368+
// CHECK(test_player.getVictoryPoints() == 7);
369+
}
240370

0 commit comments

Comments
 (0)