test_GraphicalDisplay.cpp - JulianKerignard/ProjetJeuDeLaVie_POO GitHub Wiki
test_GraphicalDisplay.cpp
Fichier Description
Ce fichier contient des tests unitaires pour la classe GraphicalDisplay
en utilisant GoogleTest. Les tests vérifient les fonctionnalités de base de la classe GraphicalDisplay
, y compris l'initialisation, l'ouverture et la fermeture de la fenêtre, la gestion du délai entre les itérations, la mise en pause et la mise à jour de l'affichage.
Classe de Test
GraphicalDisplayTest
Classe de test pour GraphicalDisplay
.
class GraphicalDisplayTest : public ::testing::Test {
protected:
GraphicalDisplay* display;
Grid* grid;
void SetUp() override {
display = new GraphicalDisplay(800, 600);
grid = new Grid(10, 10);
display->setGrid(grid);
}
void TearDown() override {
delete display;
delete grid;
}
};
- Objectif : Initialiser les objets
GraphicalDisplay
etGrid
avant chaque test, et les détruire après chaque test. - Méthodes :
SetUp()
: Initialise les objetsGraphicalDisplay
etGrid
avant chaque test.TearDown()
: Détruit les objetsGraphicalDisplay
etGrid
après chaque test.
Tests
1. GraphicalDisplayTest, Initialization
Test pour vérifier l'initialisation de l'affichage graphique.
TEST_F(GraphicalDisplayTest, Initialization) {
EXPECT_NO_THROW(display->initialize());
}
- Objectif : Vérifier que l'initialisation de l'affichage graphique ne génère aucune exception.
- Assertions :
EXPECT_NO_THROW(display->initialize())
: Vérifie que la méthodeinitialize
ne génère aucune exception.
2. GraphicalDisplayTest, WindowOpen
Test pour vérifier que la fenêtre graphique est ouverte après l'initialisation.
TEST_F(GraphicalDisplayTest, WindowOpen) {
display->initialize();
EXPECT_TRUE(display->isWindowOpen());
}
- Objectif : Vérifier que la fenêtre graphique est ouverte après l'initialisation.
- Assertions :
EXPECT_TRUE(display->isWindowOpen())
: Vérifie que la méthodeisWindowOpen
retournetrue
après l'initialisation.
3. GraphicalDisplayTest, SetIterationDelay
Test pour vérifier le réglage du délai entre les itérations.
TEST_F(GraphicalDisplayTest, SetIterationDelay) {
display->setIterationDelay(100.0f);
EXPECT_EQ(display->getIterationSpeed(), 100.0f);
display->setIterationDelay(2000.0f); // Should be clamped to 1000.0f
EXPECT_EQ(display->getIterationSpeed(), 1000.0f);
display->setIterationDelay(30.0f); // Should be clamped to 50.0f
EXPECT_EQ(display->getIterationSpeed(), 50.0f);
}
- Objectif : Vérifier que le délai entre les itérations peut être correctement réglé et est correctement borné.
- Assertions :
EXPECT_EQ(display->getIterationSpeed(), 100.0f)
: Vérifie que la vitesse d'itération est100.0f
.EXPECT_EQ(display->getIterationSpeed(), 1000.0f)
: Vérifie que la vitesse d'itération est bornée à1000.0f
.EXPECT_EQ(display->getIterationSpeed(), 50.0f)
: Vérifie que la vitesse d'itération est bornée à50.0f
.
4. GraphicalDisplayTest, TogglePause
Test pour vérifier la mise en pause et la reprise de l'affichage graphique.
TEST_F(GraphicalDisplayTest, TogglePause) {
EXPECT_FALSE(display->isPaused());
display->togglePause();
EXPECT_TRUE(display->isPaused());
display->togglePause();
EXPECT_FALSE(display->isPaused());
}
- Objectif : Vérifier que l'affichage graphique peut être mis en pause et repris.
- Assertions :
EXPECT_FALSE(display->isPaused())
: Vérifie que l'affichage n'est pas en pause initialement.EXPECT_TRUE(display->isPaused())
: Vérifie que l'affichage est en pause après l'appel àtogglePause
.EXPECT_FALSE(display->isPaused())
: Vérifie que l'affichage n'est plus en pause après un second appel àtogglePause
.
5. GraphicalDisplayTest, UpdateDisplay
Test pour vérifier la mise à jour de l'affichage graphique.
TEST_F(GraphicalDisplayTest, UpdateDisplay) {
display->initialize();
EXPECT_NO_THROW(display->update(*grid));
}
- Objectif : Vérifier que la mise à jour de l'affichage graphique ne génère aucune exception.
- Assertions :
EXPECT_NO_THROW(display->update(*grid))
: Vérifie que la méthodeupdate
ne génère aucune exception après l'initialisation.
6. GraphicalDisplayTest, CloseWindow
Test pour vérifier la fermeture de la fenêtre graphique.
TEST_F(GraphicalDisplayTest, CloseWindow) {
display->initialize();
display->close();
EXPECT_FALSE(display->isWindowOpen());
}
- Objectif : Vérifier que la fenêtre graphique est correctement fermée.
- Assertions :
EXPECT_FALSE(display->isWindowOpen())
: Vérifie que la méthodeisWindowOpen
retournefalse
après l'appel àclose
.
Conclusion
☝️🤓Ces tests unitaires garantissent que la classe GraphicalDisplay
fonctionne comme prévu en termes d'initialisation, d'ouverture et de fermeture de la fenêtre, de gestion du délai entre les itérations, de mise en pause et de mise à jour de l'affichage. En utilisant GoogleTest, ces tests fournissent une validation automatique et fiable des fonctionnalités de la classe.☝️🤓