|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de l'émetteur de particules déterministe (LOT-53 TACHE-01, EX-REN-008). More...
#include <vector>#include <gtest/gtest.h>#include "Core/Ecs/Components/Actor.h"#include "Core/Ecs/Components/Particle.h"#include "Core/Ecs/Systems/ParticleSystem.h"#include "Core/Ecs/World.h"#include "Core/Math/Vector2.h"Functions | |
| TEST (ParticleSystemTest, DeterminismeMemeSequenceMemesParticules) | |
| Deux exécutions de la même séquence d'émissions/pas produisent exactement les mêmes particules (position, vitesse, durée de vie) à chaque pas : c'est le test central de la tâche. | |
| TEST (ParticleSystemTest, BudgetJamaisDepasseRecycleLaPlusAncienne) | |
| Émettre bien au-delà du budget ne dépasse jamais MAX_PARTICLES, et recycle les plus anciennes en premier (les origines les plus récemment émises survivent). | |
| TEST (ParticleSystemTest, DureeDeVieDisparaitAuPasAttendu) | |
| Une particule disparaît exactement au pas où sa durée de vie atteint zéro, ni avant ni après. | |
| TEST (ParticleSystemTest, AucunEffetSurLesEntitesDeGameplay) | |
| Les particules n'ont aucun effet sur une entité de gameplay présente dans le même monde. | |
| TEST (ParticleSystemTest, ClearVideToutesLesParticulesVivantes) | |
| clear() détruit toutes les particules vivantes (rechargement de niveau, TACHE-02). | |
Tests unitaires de l'émetteur de particules déterministe (LOT-53 TACHE-01, EX-REN-008).
| TEST | ( | ParticleSystemTest | , |
| AucunEffetSurLesEntitesDeGameplay | ) |
Les particules n'ont aucun effet sur une entité de gameplay présente dans le même monde.
Cas de test : Aucun effet sur le gameplay.
Categorie : Unitaire · Émetteur de particules
Criticite : Critique
Etapes :
1. Peupler un core::Actor dans le monde.
2. Émettre et simuler des particules plusieurs pas.
Resultat attendu : Les champs du core::Actor restent strictement inchangés.
| TEST | ( | ParticleSystemTest | , |
| BudgetJamaisDepasseRecycleLaPlusAncienne | ) |
Émettre bien au-delà du budget ne dépasse jamais MAX_PARTICLES, et recycle les plus anciennes en premier (les origines les plus récemment émises survivent).
Cas de test : Budget : jamais dépassé, recyclage de la plus ancienne.
Categorie : Unitaire · Émetteur de particules
Criticite : Critique
Etapes :
1. Émettre MAX_PARTICLES + 5 particules individuelles, une origine distincte chacune (x = 0, 1, 2...).
2. Lire le nombre de particules vivantes et leurs origines.
Resultat attendu : aliveCount() == MAX_PARTICLES ; les 5 premières origines (x = 0..4) ont disparu, les plus récentes (x = 5..MAX_PARTICLES+4) sont toutes présentes.
| TEST | ( | ParticleSystemTest | , |
| ClearVideToutesLesParticulesVivantes | ) |
clear() détruit toutes les particules vivantes (rechargement de niveau, TACHE-02).
Cas de test : clear() vide toutes les particules vivantes.
Categorie : Unitaire · Émetteur de particules
Criticite : Majeur
Etapes :
1. Émettre plusieurs particules.
2. Appeler clear().
Resultat attendu : aliveCount() == 0, et la simulation suivante n'a rien à intégrer.
| TEST | ( | ParticleSystemTest | , |
| DeterminismeMemeSequenceMemesParticules | ) |
Deux exécutions de la même séquence d'émissions/pas produisent exactement les mêmes particules (position, vitesse, durée de vie) à chaque pas : c'est le test central de la tâche.
Cas de test : Déterminisme : même séquence -> mêmes particules.
Categorie : Unitaire · Émetteur de particules
Criticite : Critique
Etapes :
1. Deux ParticleSystem/World construits à l'identique (graine par défaut).
| TEST | ( | ParticleSystemTest | , |
| DureeDeVieDisparaitAuPasAttendu | ) |
Une particule disparaît exactement au pas où sa durée de vie atteint zéro, ni avant ni après.
Cas de test : Durée de vie : disparition au pas attendu.
Categorie : Unitaire · Émetteur de particules
Criticite : Majeur
Etapes :
1. Émettre une particule de durée de vie fixe 1,0 s.
2. Avancer de 0,25 s par pas (fixedDelta, exactement représentable en flottant), trois fois.
3. Avancer un quatrième pas.
Resultat attendu : Vivante après les trois premiers pas (life = 0,25) ; disparue après le quatrième.