|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests d'intégration de l'animation du personnage : ECS + système d'animation assemblés. More...
#include <gtest/gtest.h>#include "Core/Ecs/Components/Actor.h"#include "Core/Ecs/Components/Animation.h"#include "Core/Ecs/Components/Velocity.h"#include "Core/Ecs/Systems/AnimationSystem.h"#include "Core/Ecs/World.h"#include "Core/Math/Vector2.h"Functions | |
| TEST (AnimationPersonnageIntegration, ALArretEstEnRepos) | |
| À l'arrêt, le clip est Idle et l'image alterne 0/1 après chaque durée d'image. | |
| TEST (AnimationPersonnageIntegration, EnMouvementCourt) | |
| En mouvement horizontal, le clip est Run et l'image boucle sur les 4 images dans l'ordre. | |
| TEST (AnimationPersonnageIntegration, MarcheVerticaleCourtAussi) | |
| Marcher vers le haut anime autant que marcher vers la droite : les deux axes comptent pareil (EX-EXP-001). | |
| TEST (AnimationPersonnageIntegration, ChangementDeClipReinitialiseLImage) | |
| Un changement de clip réinitialise immédiatement l'image et le chronomètre à zéro. | |
| TEST (AnimationPersonnageIntegration, EntiteSansAnimationIgnoree) | |
| Une entité sans composant Animation n'est pas affectée par le système. | |
| TEST (AnimationPersonnageIntegration, AnimationSansJeuDeClipsResteInerte) | |
| Une entité portant Animation mais sans jeu de clips assigné n'est pas affectée (EX-NFR-040) : aucune donnée à progresser, ni plantage. | |
Tests d'intégration de l'animation du personnage : ECS + système d'animation assemblés.
AnimationSystem dérive le clip (idle/run) et l'image courante de la vitesse simulée d'un core::Actor. Depuis le LOT-06, il n'y a plus ni sol à quitter ni mur où glisser : les clips aériens du platformer restent déclarés dans core::playerClipSet() — poses procédurales et spritesheets externes s'y accrochent — mais plus rien ne les sélectionne, et c'est le vocabulaire de sprites RPG du LOT-08 qui refera ce jeu de clips.
| TEST | ( | AnimationPersonnageIntegration | , |
| ALArretEstEnRepos | ) |
À l'arrêt, le clip est Idle et l'image alterne 0/1 après chaque durée d'image.
Cas de test : A l'arret, le clip est Idle et l'image alterne 0/1 apres chaque duree d'image.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Placer un acteur de vitesse nulle.
2. Avancer l'animation d'une duree d'image.
Resultat attendu : Le clip est Idle, et l'image alterne 0 puis 1.
| TEST | ( | AnimationPersonnageIntegration | , |
| AnimationSansJeuDeClipsResteInerte | ) |
Une entité portant Animation mais sans jeu de clips assigné n'est pas affectée (EX-NFR-040) : aucune donnée à progresser, ni plantage.
Cas de test : Une entite Animation sans jeu de clips assigne reste inerte, sans planter.
Categorie : Integration · Animation Personnage
Criticite : Mineur
Etapes :
1. Creer un acteur dont l'Animation n'a aucun jeu de clips.
2. Avancer le systeme dix pas.
Resultat attendu : L'animation reste a ses valeurs par defaut, sans exception.
| TEST | ( | AnimationPersonnageIntegration | , |
| ChangementDeClipReinitialiseLImage | ) |
Un changement de clip réinitialise immédiatement l'image et le chronomètre à zéro.
Cas de test : Un changement de clip reinitialise immediatement l'image et le chronometre.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Faire courir un acteur jusqu'a une image differente de 0.
2. Annuler sa vitesse.
Resultat attendu : Le clip repasse a Idle, image 0, chronometre a zero.
| TEST | ( | AnimationPersonnageIntegration | , |
| EnMouvementCourt | ) |
En mouvement horizontal, le clip est Run et l'image boucle sur les 4 images dans l'ordre.
Cas de test : En mouvement, le clip est Run et l'image boucle sur les 4 images dans l'ordre.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Placer un acteur en mouvement horizontal.
2. Avancer l'animation de quatre durees d'image.
Resultat attendu : Le clip est Run, et l'image passe 0, 1, 2, 3 puis reboucle sur 0.
| TEST | ( | AnimationPersonnageIntegration | , |
| EntiteSansAnimationIgnoree | ) |
Une entité sans composant Animation n'est pas affectée par le système.
Cas de test : Une entite sans composant Animation n'est pas affectee par le systeme.
Categorie : Integration · Animation Personnage
Criticite : Mineur
Etapes :
1. Creer un acteur sans composant Animation.
2. Avancer le systeme dix pas.
Resultat attendu : Aucun composant Animation n'apparait.
| TEST | ( | AnimationPersonnageIntegration | , |
| MarcheVerticaleCourtAussi | ) |
Marcher vers le haut anime autant que marcher vers la droite : les deux axes comptent pareil (EX-EXP-001).
Le platformer ne regardait que la composante horizontale — la verticale y voulait dire « saut » ou « chute ». En vue de dessus, une marche verticale est une marche. Cas de test : Une marche purement verticale anime comme une marche horizontale.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Placer un acteur dont la vitesse est purement verticale.
2. Avancer d'un pas.
Resultat attendu : Le clip resolu est Run, comme pour une marche horizontale.