test_Cell.cpp - JulianKerignard/ProjetJeuDeLaVie_POO GitHub Wiki

Fichier test_Cell.cpp

Description

Ce fichier contient des tests unitaires pour la classe Cell en utilisant GoogleTest. Les tests vérifient les fonctionnalités de base de la classe Cell, y compris les états par défaut, la modification et l'obtention des états, et la gestion des cellules obstacles.

Tests

1. CellTest, DefaultState

Test pour vérifier l'état par défaut d'une cellule.

TEST(CellTest, DefaultState) {
    Cell cell;
    EXPECT_EQ(cell.getCurrentState(), CellState::DEAD);
    EXPECT_FALSE(cell.isObstacleCell());
}
  • Objectif : Vérifier que l'état initial d'une cellule est DEAD et qu'elle n'est pas un obstacle.
  • Assertions :
    • EXPECT_EQ(cell.getCurrentState(), CellState::DEAD) : Vérifie que l'état actuel de la cellule est DEAD.
    • EXPECT_FALSE(cell.isObstacleCell()) : Vérifie que la cellule n'est pas un obstacle.

2. CellTest, SetAndGetState

Test pour vérifier la modification et l'obtention de l'état d'une cellule.

TEST(CellTest, SetAndGetState) {
    Cell cell;
    cell.setNextState(CellState::ALIVE);
    cell.updateState();
    EXPECT_EQ(cell.getCurrentState(), CellState::ALIVE);
    cell.setNextState(CellState::DEAD);
    cell.updateState();
    EXPECT_EQ(cell.getCurrentState(), CellState::DEAD);
}
  • Objectif : Vérifier que l'état d'une cellule peut être modifié et obtenu correctement.
  • Assertions :
    • EXPECT_EQ(cell.getCurrentState(), CellState::ALIVE) : Vérifie que l'état actuel de la cellule est ALIVE après l'avoir défini et mis à jour.
    • EXPECT_EQ(cell.getCurrentState(), CellState::DEAD) : Vérifie que l'état actuel de la cellule est DEAD après l'avoir redéfini et mis à jour.

3. CellTest, ObstacleCell

Test pour vérifier la gestion des cellules obstacles.

TEST(CellTest, ObstacleCell) {
    Cell cell;
    cell.setObstacle(true);
    EXPECT_TRUE(cell.isObstacleCell());
    cell.setObstacle(false);
    EXPECT_FALSE(cell.isObstacleCell());
}
  • Objectif : Vérifier que le statut d'obstacle d'une cellule peut être défini et obtenu correctement.
  • Assertions :
    • EXPECT_TRUE(cell.isObstacleCell()) : Vérifie que la cellule est un obstacle après l'avoir définie comme telle.
    • EXPECT_FALSE(cell.isObstacleCell()) : Vérifie que la cellule n'est plus un obstacle après avoir retiré son statut d'obstacle.

Conclusion

☝️🤓Ces tests unitaires garantissent que la classe Cell fonctionne comme prévu en termes de gestion de l'état et du statut d'obstacle des cellules. En utilisant GoogleTest, ces tests fournissent une validation automatique et fiable des fonctionnalités de base de la classe.☝️🤓