Ce mini projet vise à mettre en place des tests unitaires logiques et fonctionnels avec PHPUnit. Pour celà nous réaliserons un projet par étape en suivant les pratiques vu en cours
composer tests
composer test:player
composer test:board
composer test:game
Les tests unitaires de la classe Player
sont conçus pour vérifier le bon fonctionnement des méthodes du joueur dans un environnement de jeu. Voici une brève description des différents tests effectués :
- testPlayerInitialValues: Vérifie que le joueur est correctement initialisé avec les valeurs spécifiées pour les coordonnées x et y et l'orientation.
- testPlayerTurnLeftAt[Direction]Position: Ces tests vérifient que le joueur tourne correctement à gauche depuis différentes orientations.
- testPlayerTurnRightAt[Direction]Position: Ces tests vérifient que le joueur tourne correctement à droite depuis différentes orientations.
- testPlayerMoveForward[Direction]: Ces tests vérifient que le joueur avance correctement dans la direction spécifiée.
Les tests unitaires de la classe Board
vérifient le bon fonctionnement des principales fonctionnalités de la grille de jeu, notamment l'initialisation, la validation de la position, le placement et le déplacement des joueurs.
- testGridIsProperlyInitialized: Vérifie que la grille est correctement initialisée avec 10 lignes, 10 colonnes, et que toutes les cellules sont initialisées à 0.
- testIsValidPosition: Teste la méthode
isValidPosition
pour s'assurer qu'elle renvoietrue
pour une position valide (5,5) sur la grille, etfalse
pour des positions non valides (-2,5), (5,11), et (11,11).
- testPlacePlayer: Teste la méthode
placePlayer
pour vérifier si les joueurs sont correctement placés sur la grille aux positions spécifiées.
- testMovePlayer: Vérifie si la méthode
movePlayer
déplace correctement le joueur sur la grille, en mettant à jour l'ancienne position àEMPTY
et en plaçant le joueur à la nouvelle position.
- testDisplay: Teste la méthode
display
pour vérifier si la grille est correctement affichée en console, avec les joueurs aux bonnes positions.
Les tests se concentrent sur plusieurs aspects clés du jeu, y compris:
- Initialisation du Jeu: Vérifie que le jeu est correctement initialisé avec deux joueurs et un plateau.
- Changement d'Orientation: Teste la logique pour faire tourner les joueurs à gauche et à droite.
- Déplacement des Joueurs: Teste le déplacement en avant des joueurs dans toutes les orientations possibles (Nord, Est, Sud, Ouest).
- Vision des Joueurs: Vérifie si les joueurs peuvent ou non se voir dans différentes orientations et positions.