Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider 9d42979a rédigé par ArKeid0s's avatar ArKeid0s
Parcourir les fichiers

Started GameManager tests

parent b91d1840
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline #56226 réussi
......@@ -32,6 +32,16 @@ public class GameManager implements IGameManager
return game;
}
/**
* Return the list of Players
*
* @return List of Player
*/
public List<Player> getPlayers()
{
return players;
}
/**
* Get leaderboard to show players points
*
......@@ -196,7 +206,7 @@ public class GameManager implements IGameManager
* @param resource The resource to buy
* @param quantity Amount of resource
*/
private void buyResourcesFrom(String buyerId, String sellerId, Resource resource, int quantity)
public void buyResourcesFrom(String buyerId, String sellerId, Resource resource, int quantity)
{
int quantityTemp = quantity;
......@@ -335,7 +345,7 @@ public class GameManager implements IGameManager
*/
private void distributeCards()
{
//TODO
}
/**
......@@ -343,6 +353,8 @@ public class GameManager implements IGameManager
*/
private void nextTurn()
{
//TODO: Finish
for (Player player : players) {
giveNeighbor(player);
}
......
......@@ -40,7 +40,7 @@ public class Player implements IPlayer {
//endregion
/**
* Create the player objkect as well as his DTO
* Create the player object as well as his DTO
*
* @param playerId
* @param userName
......
package game;
import fr.univnantes.software_engineering.DTO.PlayerDTO;
import fr.univnantes.software_engineering.card.Card;
import fr.univnantes.software_engineering.enums.Age;
import fr.univnantes.software_engineering.enums.GameState;
import fr.univnantes.software_engineering.enums.Resource;
import fr.univnantes.software_engineering.game.GameManager;
import fr.univnantes.software_engineering.player.Player;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static org.junit.Assert.*;
public class TestGameManager
{
// Test GameManager constructor
@Test
public void testGameManager()
{
int gameTurn = 1;
Age currentAge = Age.AGE1;
GameState gameState = GameState.WAITING;
List<Card> currentAgeCards = new ArrayList<>();
List<PlayerDTO> playersPublic = new ArrayList<>();
GameManager gameManager = new GameManager();
assertEquals(gameTurn, gameManager.getGamePublic().getGameTurn());
assertEquals(currentAge, gameManager.getGamePublic().getCurrentAge());
assertEquals(gameState, gameManager.getGamePublic().getGameState());
assertEquals(currentAgeCards, gameManager.getGamePublic().getCurrentAgeCards());
assertEquals(playersPublic, gameManager.getGamePublic().getPlayersPublic());
}
// Test add a player to the game
@Test
public void testAddPlayer()
{
GameManager gm = new GameManager();
String playerId = "1";
String username = "Mathis";
gm.addPlayer(playerId, username);
assertEquals(gm.getPlayer(playerId).getPlayerDTO().getUserID(), playerId);
assertEquals(gm.getPlayer(playerId).getPlayerDTO().getUserName(), username);
}
// Test remove player with only one player in game
@Test
public void testRemovePlayer()
{
GameManager gm = new GameManager();
String playerId = "1";
String username = "Mathis";
gm.addPlayer(playerId, username);
gm.removePlayer(playerId);
assertTrue(gm.getPlayers().isEmpty());
assertTrue(gm.getGamePublic().getPlayersPublic().isEmpty());
}
// Test remove player with multiple players in game
@Test
public void testRemovePlayer2()
{
GameManager gm = new GameManager();
String playerId = "1";
String username = "Mathis";
String playerId2 = "2";
String username2 = "Guillaume";
gm.addPlayer(playerId, username);
gm.addPlayer(playerId2, username2);
gm.removePlayer(playerId);
assertFalse(gm.getPlayers().isEmpty());
assertFalse(gm.getGamePublic().getPlayersPublic().isEmpty());
assertEquals(1, gm.getPlayers().size());
assertEquals(1, gm.getGamePublic().getPlayersPublic().size());
assertEquals(playerId2, gm.getPlayer(playerId2).getPlayerDTO().getUserID());
assertEquals(username2, gm.getPlayer(playerId2).getPlayerDTO().getUserName());
}
// Test buying resources from neighbor
@Test
public void testBuyResourcesFrom()
{
GameManager gm = new GameManager();
String playerId = "1";
String username = "Mathis";
String playerId2 = "2";
String username2 = "Guillaume";
gm.addPlayer(playerId, username);
gm.addPlayer(playerId2, username2);
Player player1 = gm.getPlayer(playerId);
Map<Resource, Integer> res1 = player1.getPlayerDTO().getResources();
res1.put(Resource.CLAY, 10);
res1.put(Resource.GLASS, 2);
player1.getPlayerDTO().setResources(res1);
player1.getPlayerDTO().setMoney(9);
Player player2 = gm.getPlayer(playerId2);
Map<Resource, Integer> res2 = player2.getPlayerDTO().getResources();
res2.put(Resource.CLAY, 5);
res2.put(Resource.ORE, 15);
player2.getPlayerDTO().setResources(res2);
player2.getPlayerDTO().setMoney(9);
gm.buyResourcesFrom(playerId, playerId2, Resource.ORE, 5);
assertEquals(6, gm.getPlayer(playerId).getPlayerDTO().getMoney());
}
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter