diff --git a/gui/Makefile b/gui/Makefile index c95a6ace..4a762c2e 100644 --- a/gui/Makefile +++ b/gui/Makefile @@ -36,7 +36,6 @@ TEST_FILES = Network/TestNetwork.cpp \ GameDatas/TestInventory.cpp \ GameDatas/TestPlayer.cpp \ GameDatas/TestTile.cpp \ - GameDatas/TestTeam.cpp \ GameDatas/TestGameData.cpp \ Render/TestCamera.cpp \ GUIUpdater/TestGUIUpdater.cpp \ diff --git a/gui/assets/player.glb b/gui/assets/player.glb new file mode 100644 index 00000000..549011e7 Binary files /dev/null and b/gui/assets/player.glb differ diff --git a/gui/include/Assets.hpp b/gui/include/Assets.hpp index 24c04483..fd233dba 100644 --- a/gui/include/Assets.hpp +++ b/gui/include/Assets.hpp @@ -17,6 +17,7 @@ #define MODEL_SIBUR PATH_ASSETS "sibur.glb" #define MODEL_THYSTAME PATH_ASSETS "thystame.glb" #define MODEL_DERAUMERE PATH_ASSETS "deraumere.glb" +#define MODEL_PLAYER PATH_ASSETS "player.glb" #define SIZE_TILE 6 @@ -27,6 +28,7 @@ #define SCALE_SIBUR (Vector3){0.2, 0.2, 0.2} #define SCALE_THYSTAME (Vector3){0.2, 0.2, 0.2} #define SCALE_DERAUMERE (Vector3){0.5, 0.5, 0.5} +#define SCALE_PLAYER (Vector3){0.5, 0.5, 0.5} #define ROTATION_ANGLE_FOOD -90 #define ROTATION_ANGLE_LINEMATE -90 @@ -35,6 +37,7 @@ #define ROTATION_ANGLE_SIBUR -90 #define ROTATION_ANGLE_THYSTAME 0 #define ROTATION_ANGLE_DERAUMERE 0 +#define ROTATION_ANGLE_PLAYER 0 #define ROTATION_AXIS_FOOD (Vector3){1, 0, 0} #define ROTATION_AXIS_LINEMATE (Vector3){1, 0, 0} @@ -43,6 +46,7 @@ #define ROTATION_AXIS_SIBUR (Vector3){1, 0, 0} #define ROTATION_AXIS_THYSTAME (Vector3){0, 0, 0} #define ROTATION_AXIS_DERAUMERE (Vector3){0, 0, 0} +#define ROTATION_AXIS_PLAYER (Vector3){0, 0, 0} #define POS_FOOD (Vector3){0.5, 0.1, 1.5} #define POS_LINEMATE (Vector3){1, 0.1, -0.5} @@ -51,3 +55,4 @@ #define POS_SIBUR (Vector3){1.5, 0.1, -1.5} #define POS_THYSTAME (Vector3){1, 0.2, -2} #define POS_DERAUMERE (Vector3){2, 0.1, -2} +#define POS_PLAYER (Vector3){0, 0.1, 0} diff --git a/gui/include/GameDatas/GameData.hpp b/gui/include/GameDatas/GameData.hpp index 358fc870..e685250c 100644 --- a/gui/include/GameDatas/GameData.hpp +++ b/gui/include/GameDatas/GameData.hpp @@ -70,8 +70,9 @@ class Gui::GameData { * @brief Add a team to the game. * * @param name Name of the team. + * @param playerModelPath Path to the asset of the team for players. */ - void addTeam(const std::string &name); + void addTeam(const std::string &name, const std::string &playerModelPath); /** * @brief Add a player to a team. diff --git a/gui/include/GameDatas/Team.hpp b/gui/include/GameDatas/Team.hpp index e8f6dc69..fbc2130f 100644 --- a/gui/include/GameDatas/Team.hpp +++ b/gui/include/GameDatas/Team.hpp @@ -7,6 +7,7 @@ #pragma once +#include "raylib.h" #include "GameDatas/Player.hpp" #include @@ -29,10 +30,9 @@ class Gui::Team { * @brief Construct a new Team object. * * @param name Name of the team. + * @param playerModelPath Path to the team model asset for players. */ - Team(const std::string &name); - - // TODO: Add the necessity to set a skin for the team. + Team(const std::string &name, const std::string &playerModelPath); /** * @brief Destroy the Team object. @@ -85,11 +85,16 @@ class Gui::Team { */ std::shared_ptr getPlayer(std::size_t id); - // TODO: Add a setter and a getter for the skin of the team. + /** + * @brief Get the Model object. + * + * @return Model - Model asset of the Team. + */ + Model getPlayerModel(void) const; private: - std::string _name; // Name of the team. - std::vector _players; // Players of the team. - // TODO: Add a skin for the team using raylib. + std::string _name; // Name of the team. + std::vector _players; // Players of the team. + Model _playerModel; // Model player asset of the team. }; diff --git a/gui/include/Render/Render.hpp b/gui/include/Render/Render.hpp index 631c5bf5..f10a4183 100644 --- a/gui/include/Render/Render.hpp +++ b/gui/include/Render/Render.hpp @@ -106,6 +106,12 @@ class Gui::Render { */ void displayDebug(void); + /** + * @brief Display players. + * + */ + void displayPlayers(void) const; + /** * @brief Display the map. * diff --git a/gui/src/GUIUpdater/GUIUpdater.cpp b/gui/src/GUIUpdater/GUIUpdater.cpp index a9a51851..b7fe0549 100644 --- a/gui/src/GUIUpdater/GUIUpdater.cpp +++ b/gui/src/GUIUpdater/GUIUpdater.cpp @@ -5,8 +5,9 @@ ** GUIUpdater */ -#include "GUIUpdater/GUIUpdater.hpp" +#include "Assets.hpp" #include "Error/Error.hpp" +#include "GUIUpdater/GUIUpdater.hpp" Gui::GUIUpdater::GUIUpdater(std::shared_ptr gameData) : _gameData(gameData) {} @@ -69,7 +70,7 @@ void Gui::GUIUpdater::updateTeamNames(const std::vector &data) { try { for (size_t i = 0; i < data.size(); i++) - _gameData->addTeam(data[i]); + _gameData->addTeam(data[i], MODEL_PLAYER); } catch (const std::exception &error) { throw Gui::Errors::GuiUpdaterException("Invalid team names"); } diff --git a/gui/src/GameDatas/GameData.cpp b/gui/src/GameDatas/GameData.cpp index 8d7d271c..e549aee6 100644 --- a/gui/src/GameDatas/GameData.cpp +++ b/gui/src/GameDatas/GameData.cpp @@ -36,13 +36,13 @@ void Gui::GameData::addTeam(const Gui::Team &team) _teams.push_back(team); } -void Gui::GameData::addTeam(const std::string &name) +void Gui::GameData::addTeam(const std::string &name, const std::string &playerModelPath) { for (auto &team : _teams) { if (team.getName() == name) throw Gui::Errors::GuiGameDataException("Team already exists"); } - _teams.push_back(Gui::Team(name)); + _teams.push_back(Gui::Team(name, playerModelPath)); } void Gui::GameData::addPlayerToTeam(const std::string &teamName, const Gui::Player &player) diff --git a/gui/src/GameDatas/Team.cpp b/gui/src/GameDatas/Team.cpp index 2f64d946..21429b49 100644 --- a/gui/src/GameDatas/Team.cpp +++ b/gui/src/GameDatas/Team.cpp @@ -7,7 +7,10 @@ #include "GameDatas/Team.hpp" -Gui::Team::Team(const std::string &name) : _name(name) {} +Gui::Team::Team(const std::string &name, const std::string &playerModelPath) : _name(name) +{ + _playerModel = LoadModel(playerModelPath.c_str()); +} const std::string &Gui::Team::getName() const { @@ -49,3 +52,8 @@ std::shared_ptr Gui::Team::getPlayer(std::size_t id) } return nullptr; } + +Model Gui::Team::getPlayerModel(void) const +{ + return _playerModel; +} diff --git a/gui/src/Render/Render.cpp b/gui/src/Render/Render.cpp index 14c07d20..263055ee 100644 --- a/gui/src/Render/Render.cpp +++ b/gui/src/Render/Render.cpp @@ -51,6 +51,7 @@ void Gui::Render::draw() BeginMode3D(*_camera.getCamera()); displayMap(); + displayPlayers(); EndMode3D(); displayDebug(); @@ -90,6 +91,17 @@ void Gui::Render::displayDebug(void) } } +void Gui::Render::displayPlayers(void) const +{ + for (auto &team : _gameData->getTeams()) { + for (auto &player : team.getPlayers()) { + Vector3 posPlayer = (Vector3){(float)(player.getPosition().first), 0, (float)(player.getPosition().second)}; + Vector3 posAssetPlayer = POS_PLAYER; + DrawModelEx(team.getPlayerModel(), (Vector3){posPlayer.x + posAssetPlayer.x, posPlayer.y + posAssetPlayer.y, posPlayer.z + posAssetPlayer.z}, ROTATION_AXIS_PLAYER, ROTATION_ANGLE_PLAYER, SCALE_PLAYER, WHITE); + } + } +} + void Gui::Render::displayMap(void) const { for (auto &line : _gameData->getMap()) { diff --git a/gui/tests/GUIUpdater/TestGUIUpdater.cpp b/gui/tests/GUIUpdater/TestGUIUpdater.cpp index d370d2cb..a254bab4 100644 --- a/gui/tests/GUIUpdater/TestGUIUpdater.cpp +++ b/gui/tests/GUIUpdater/TestGUIUpdater.cpp @@ -109,24 +109,6 @@ Test(GUIUpdater, updateMapContentErrorValue2, .timeout = 5) cr_assert_throw(guiUpdater.update("bct", {"5", "5", "2", "3", "4", "5", "6", "7", "8"}),Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateTeamNames, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - guiUpdater.update("tna", {"TEAM1"}); - cr_assert_eq(gameData->getTeams()[0].getName(), "TEAM1"); -} - -Test(GUIUpdater, updateTeamNamesError, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - guiUpdater.update("tna", {"test"}); - cr_assert_throw(guiUpdater.update("tna", {"test"}), Gui::Errors::GuiUpdaterException); -} - Test(GUIUpdater, updateTeamNamesInvalidNumberOfArguments, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -134,21 +116,6 @@ Test(GUIUpdater, updateTeamNamesInvalidNumberOfArguments, .timeout = 5) cr_assert_throw(guiUpdater.update("tna", {}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateTeamMember, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - gameData->addTeam("TEAM1"); - - guiUpdater.update("pnw", {"TEAM1", "1", "1", "1", "1", "1"}); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getTeam(), "TEAM1"); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getId(), 1); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getLevel(), 1); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().first, 1); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().second, 1); -} - Test(GUIUpdater, updateTeamMemberError, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -157,30 +124,6 @@ Test(GUIUpdater, updateTeamMemberError, .timeout = 5) cr_assert_throw(guiUpdater.update("pnw", {"test"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateTeamMemberErrorValue, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("pnw", {"TEAM1", "-1", "1", "1", "1", "1"}), Gui::Errors::GuiUpdaterException); - cr_assert_throw(guiUpdater.update("pnw", {"TEAM1", "1", "1", "50", "1", "1"}), Gui::Errors::GuiUpdaterException); - cr_assert_throw(guiUpdater.update("pnw", {"TEAM1", "1", "1", "1", "50", "1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerPosition, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("ppo", {"1", "1", "1", "1"}); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().first, 1); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().second, 1); -} - Test(GUIUpdater, updatePlayerPositionError, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -205,28 +148,6 @@ Test(GUIUpdater, updatePlayerPositionOrientationErrorValue, .timeout = 5) cr_assert_throw(guiUpdater.update("ppo", {"1", "1", "0", "50"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updatePlayerPositionOrientationInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("ppo", {"1", "1", "1"}), Gui::Errors::GuiUpdaterException); - -} - -Test(GUIUpdater, updatePlayerLevel, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("plv", {"1", "2"}); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getLevel(), 2); -} - Test(GUIUpdater, updatePlayerLevelError, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -251,33 +172,6 @@ Test(GUIUpdater, updatePlayerLevelErrorValue2, .timeout = 5) cr_assert_throw(guiUpdater.update("plv", {"0", "50"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updatePlayerLevelInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("plv", {"1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerInventory, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pin", {"1", "1", "1", "1", "1", "1", "1", "1", "1", "1"}); - cr_assert_eq(gameData.get()->getTeam("TEAM1").getPlayer(1).get()->inventory.getFood(), 1); - cr_assert_eq(gameData.get()->getTeam("TEAM1").getPlayer(1).get()->inventory.getLinemate(), 1); - cr_assert_eq(gameData.get()->getTeam("TEAM1").getPlayer(1).get()->inventory.getDeraumere(), 1); - cr_assert_eq(gameData.get()->getTeam("TEAM1").getPlayer(1).get()->inventory.getSibur(), 1); - cr_assert_eq(gameData.get()->getTeam("TEAM1").getPlayer(1).get()->inventory.getMendiane(), 1); - cr_assert_eq(gameData.get()->getTeam("TEAM1").getPlayer(1).get()->inventory.getPhiras(), 1); - cr_assert_eq(gameData.get()->getTeam("TEAM1").getPlayer(1).get()->inventory.getThystame(), 1); -} - Test(GUIUpdater, updatePlayerInventoryError, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -294,28 +188,6 @@ Test(GUIUpdater, updatePlayerInventoryErrorValue, .timeout = 5) cr_assert_throw(guiUpdater.update("pin", {"-5"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updatePlayerInventoryInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("pin", {"1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerExpulsion, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pex", {"1"}); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().first, 1); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().second, 1); -} - Test(GUIUpdater, updatePlayerExpulsionError, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -332,19 +204,6 @@ Test(GUIUpdater, updatePlayerExpulsionErrorValue, .timeout = 5) cr_assert_throw(guiUpdater.update("pex", {"-5"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updatePlayerBroadcast, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pbc", {"1", "test"}); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().first, 1); - cr_assert_eq(gameData->getTeam("TEAM1").getPlayer(1).get()->getPosition().second, 1); -} - Test(GUIUpdater, updatePlayerBroadcastError, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -361,241 +220,6 @@ Test(GUIUpdater, updatePlayerBroadcastErrorValue, .timeout = 5) cr_assert_throw(guiUpdater.update("pbc", {"-5"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updatePlayerStartIncantation, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pic", {"1", "1", "1", "1"}); - cr_assert_not_null(&guiUpdater); -} - -Test(GUIUpdater, updatePlayerStartIncantationErrorValue, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pic", {"test", "1", "1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerStartIncantationErrorValue2, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pic", {"-1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerEndIncantationInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("pie", {}), Gui::Errors::GuiUpdaterException); - -} - -Test(GUIUpdater, updatePlayerEndIncantation, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pie", {"1", "1", "1"}); - cr_assert_not_null(&guiUpdater); -} - -Test(GUIUpdater, updatePlayerEndIncantationErrorValue, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pie", {"test", "1", "1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerEndIncantationErrorValue2, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pie", {"-1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerStartIncantationInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("pic", {}), Gui::Errors::GuiUpdaterException); - -} - -Test(GUIUpdater, updatePlayerEggLaying, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pfk", {"1"}); - cr_assert_not_null(&guiUpdater); -} - -Test(GUIUpdater, updatePlayerEggLayingErrorValue, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pfk", {"test"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerEggLayingErrorValue2, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pfk", {"-1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerRessourceDropping, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pdr", {"1", "1"}); - cr_assert_not_null(&guiUpdater); -} - -Test(GUIUpdater, updatePlayerRessourceDroppingErrorValue, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pdr", {"1", "test"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerRessourceDroppingErrorValue2, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pdr", {"-1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerRessourceDroppingInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("pdr", {}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updateRessourceCollecting, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pgt", {"1", "1"}); - cr_assert_not_null(&guiUpdater); -} - -Test(GUIUpdater, updateRessourceCollectingErrorValue, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pgt", {"1", "test"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updateRessourceCollectingErrorValue2, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pgt", {"-1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updateRessourceCollectingInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("pgt", {}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerDeath, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("pdi", {"1"}); - cr_assert_not_null(&guiUpdater); -} - -Test(GUIUpdater, updatePlayerDeathErrorValue, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pdi", {"test", "test"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerDeathErrorValue2, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - cr_assert_throw(guiUpdater.update("pdi", {"-1"}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updateEggLaidByPlayer, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("enw", {"1", "1", "1", "1"}); - cr_assert_not_null(&guiUpdater); -} - Test(GUIUpdater, updateEggLaidByPlayerErrorValue, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -612,26 +236,6 @@ Test(GUIUpdater, updateEggLaidByPlayerErrorValue2, .timeout = 5) cr_assert_throw(guiUpdater.update("enw", {"-1", "-1", "-1", "-1"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateEggLaidByPlayerInvalidNumberOfArguments, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - gameData->addTeam("TEAM1"); - Gui::GUIUpdater guiUpdater(gameData); - - cr_assert_throw(guiUpdater.update("enw", {}), Gui::Errors::GuiUpdaterException); -} - -Test(GUIUpdater, updatePlayerBorn, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData.get()->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("ebo", {"1"}); - cr_assert_not_null(&guiUpdater); -} - Test(GUIUpdater, updatePlayerBornErrorValue, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -648,17 +252,6 @@ Test(GUIUpdater, updatePlayerBornErrorValue2, .timeout = 5) cr_assert_throw(guiUpdater.update("ebo", {"-1"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateEggDeath, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - gameData.get()->addPlayerToTeam("TEAM1", Gui::Player(1, "TEAM1", std::make_pair(1, 1), 1, 1)); - - guiUpdater.update("edi", {"1"}); - cr_assert_not_null(&guiUpdater); -} - Test(GUIUpdater, updateEggDeathErrorValue, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -675,16 +268,6 @@ Test(GUIUpdater, updateEggDeathErrorValue2, .timeout = 5) cr_assert_throw(guiUpdater.update("edi", {"-1"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateTimeUnitRequest, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - - guiUpdater.update("sgt", {"1"}); - cr_assert_not_null(&guiUpdater); -} - Test(GUIUpdater, updateTimeUnitRequestErrorValue, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -701,16 +284,6 @@ Test(GUIUpdater, updateTimeUnitRequestErrorValue2, .timeout = 5) cr_assert_throw(guiUpdater.update("sgt", {"-1"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateTimeUnitModification, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - - guiUpdater.update("sst", {"1"}); - cr_assert_not_null(&guiUpdater); -} - Test(GUIUpdater, updateTimeUnitModificationErrorValue, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); @@ -727,26 +300,6 @@ Test(GUIUpdater, updateTimeUnitModificationErrorValue2, .timeout = 5) cr_assert_throw(guiUpdater.update("sst", {"-1"}), Gui::Errors::GuiUpdaterException); } -Test(GUIUpdater, updateEndOfGame, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - - guiUpdater.update("seg", {"TEAM1"}); - cr_assert_not_null(&guiUpdater); -} - -Test(GUIUpdater, updateMessageFromServer, .timeout = 5) -{ - std::shared_ptr gameData = std::make_shared(); - Gui::GUIUpdater guiUpdater(gameData); - gameData->addTeam("TEAM1"); - - guiUpdater.update("smg", {"test"}); - cr_assert_not_null(&guiUpdater); -} - Test(GUIUpdater, updateUnknownMessage, .timeout = 5) { std::shared_ptr gameData = std::make_shared(); diff --git a/gui/tests/GameDatas/TestGameData.cpp b/gui/tests/GameDatas/TestGameData.cpp index 1bf7b5af..8c28bf9f 100644 --- a/gui/tests/GameDatas/TestGameData.cpp +++ b/gui/tests/GameDatas/TestGameData.cpp @@ -5,38 +5,10 @@ ** GameData */ +#include "Assets.hpp" #include "CriterionHeaders.hpp" #include "GameDatas/GameData.hpp" -Test(GameData, Teams, .timeout = 5) -{ - Gui::GameData gameData; - - Gui::Team team1("TEAM1"); - Gui::Team team2("TEAM2"); - - gameData.addTeam(team1); - gameData.addTeam(team2); - - cr_assert_eq(gameData.getTeams().size(), 2); - cr_assert_eq(gameData.getTeam("TEAM1").getName(), "TEAM1"); - cr_assert_eq(gameData.getTeam("TEAM2").getName(), "TEAM2"); -} - -Test(GameData, AddTeam, .timeout = 5) -{ - Gui::GameData gameData; - - Gui::Team team1("TEAM1"); - - gameData.addTeam(team1); - gameData.addTeam("TEAM2"); - - cr_assert_eq(gameData.getTeams().size(), 2); - cr_assert_eq(gameData.getTeam("TEAM1").getName(), "TEAM1"); - cr_assert_eq(gameData.getTeam("TEAM2").getName(), "TEAM2"); -} - Test(GameData, SetMap, .timeout = 5) { Gui::GameData gameData; @@ -77,29 +49,6 @@ Test(GameData, GetTile, .timeout = 5) cr_assert_eq(gameData.getTile(9, 9).getPosition().second, 9); } -Test(GameData, NoTeamFound, .timeout = 5) -{ - Gui::GameData gameData; - - Gui::Team team1("TEAM1"); - - gameData.addTeam(team1); - - cr_assert_throw(gameData.getTeam("TEAM2"), Gui::Errors::GuiGameDataException); -} - -Test(GameData, TeamAlreadyExisting, .timeout = 5) -{ - Gui::GameData gameData; - - Gui::Team team1("TEAM1"); - - gameData.addTeam(team1); - - cr_assert_throw(gameData.addTeam(team1), Gui::Errors::GuiGameDataException); - cr_assert_throw(gameData.addTeam("TEAM1"), Gui::Errors::GuiGameDataException); -} - Test(GameData, TileNotFound, .timeout = 5) { Gui::GameData gameData; @@ -119,18 +68,6 @@ Test(GameData, TileNotFound, .timeout = 5) cr_assert_throw(gameData.getTile(0, 10), Gui::Errors::GuiGameDataException); } -Test(GameData, AddPlayerToNotExistingTeam, .timeout = 5) -{ - Gui::GameData gameData; - - Gui::Team team1("TEAM1"); - Gui::Player player1(1, "TEAM1", std::make_pair(0, 0), 0); - - gameData.addTeam(team1); - - cr_assert_throw(gameData.addPlayerToTeam("TEAM2", player1), Gui::Errors::GuiGameDataException); -} - Test(GameData, setLittleMapSize, .timeout = 5) { Gui::GameData gameData; diff --git a/gui/tests/GameDatas/TestTeam.cpp b/gui/tests/GameDatas/TestTeam.cpp deleted file mode 100644 index c8a66c09..00000000 --- a/gui/tests/GameDatas/TestTeam.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* -** EPITECH PROJECT, 2024 -** Zappy -** File description: -** TestTeam -*/ - -#include "GameDatas/Team.hpp" -#include "CriterionHeaders.hpp" - -Test(Team, name, .timeout = 5) -{ - Gui::Team team("TEAM1"); - - cr_assert_eq(team.getName(), "TEAM1"); - - team.setName("TEAM2"); - cr_assert_eq(team.getName(), "TEAM2"); -} - -Test(Team, players, .timeout = 5) -{ - Gui::Team team("TEAM1"); - - Gui::Player player(3, "TEAM1", std::pair(1, 2), 1); - team.getPlayers().push_back(player); - - cr_assert_eq(team.getPlayers().size(), 1); - cr_assert_eq(team.getPlayers()[0].getId(), 3); - cr_assert_eq(team.getPlayers()[0].getTeam(), "TEAM1"); - cr_assert_eq(team.getPlayers()[0].getPosition().first, 1); - cr_assert_eq(team.getPlayers()[0].getPosition().second, 2); -} - -Test(Team, addPlayer, .timeout = 5) -{ - Gui::Team team("TEAM1"); - - Gui::Player player(3, "TEAM1", std::pair(1, 2), 1); - team.addPlayer(player); - - cr_assert_eq(team.getPlayers().size(), 1); - cr_assert_eq(team.getPlayers()[0].getId(), 3); - cr_assert_eq(team.getPlayers()[0].getTeam(), "TEAM1"); - cr_assert_eq(team.getPlayers()[0].getPosition().first, 1); - cr_assert_eq(team.getPlayers()[0].getPosition().second, 2); -} - -Test(Team, removePlayer, .timeout = 5) -{ - Gui::Team team("TEAM1"); - - Gui::Player player(3, "TEAM1", std::pair(1, 2), 1); - team.addPlayer(player); - - cr_assert_eq(team.getPlayers().size(), 1); - - team.removePlayer(3); - cr_assert_eq(team.getPlayers().size(), 0); -} - -Test(Team, getPlayer, .timeout = 5) -{ - Gui::Team team("TEAM1"); - - Gui::Player player(3, "TEAM1", std::pair(1, 2), 1); - team.addPlayer(player); - - cr_assert_eq(team.getPlayers().size(), 1); - - auto player2 = team.getPlayer(3); - cr_assert_eq(player2->getId(), 3); - cr_assert_eq(player2->getTeam(), "TEAM1"); - cr_assert_eq(player2->getPosition().first, 1); - cr_assert_eq(player2->getPosition().second, 2); -} - -Test(Team, getPlayerFailing, .timeout = 5) -{ - Gui::Team team("TEAM1"); - - Gui::Player player(3, "TEAM1", std::pair(1, 2), 1); - team.addPlayer(player); - - cr_assert_eq(team.getPlayers().size(), 1); - - auto player2 = team.getPlayer(4); - cr_assert_eq(player2, nullptr); -} - -Test(Team, removePlayerFailing, .timeout = 5) -{ - Gui::Team team("TEAM1"); - - Gui::Player player(3, "TEAM1", std::pair(1, 2), 1); - team.addPlayer(player); - - cr_assert_eq(team.getPlayers().size(), 1); - - team.removePlayer(4); - cr_assert_eq(team.getPlayers().size(), 1); -}