JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
test_particle_triggers.cpp File Reference

Tests unitaires des déclencheurs de particules du personnage (LOT-53 TACHE-02, EX-REN-008). More...

#include <gtest/gtest.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 (ParticleTriggersTest, AtterrissageSousLeSeuilAucunEffet)
 En-dessous du seuil LANDING_MIN_IMPACT_SPEED, un atterrissage ne produit aucune particule – sinon chaque petit pas émettrait de la poussière.
 TEST (ParticleTriggersTest, IntensiteAtterrissageProportionnelleALaVitesseDImpact)
 Au seuil minimal, l'atterrissage produit l'intensité minimale ; au-delà du plafond, l'intensité maximale (jamais davantage) – l'intensité croît strictement entre les deux.
 TEST (ParticleTriggersTest, TraineeDeDashEmissionContinueUnAppelParPas)
 emitDashTrail est une émission continue : appelée à chaque pas simulé pendant le dash, elle ajoute des particules à chaque appel plutôt que de n'émettre qu'une fois.
 TEST (ParticleTriggersTest, MortProduitUneRafaleDeParticulesDeType)
 emitDeath produit une rafale ponctuelle de particules.
 TEST (ParticleTriggersTest, RechargementAucuneParticuleResiduelle)
 Le rechargement de niveau vide les particules résiduelles : après clear(), un emitDeath antérieur n'a plus aucune particule vivante.

Detailed Description

Tests unitaires des déclencheurs de particules du personnage (LOT-53 TACHE-02, EX-REN-008).

Function Documentation

◆ TEST() [1/5]

TEST ( ParticleTriggersTest ,
AtterrissageSousLeSeuilAucunEffet  )

En-dessous du seuil LANDING_MIN_IMPACT_SPEED, un atterrissage ne produit aucune particule – sinon chaque petit pas émettrait de la poussière.

Cas de test : Atterrissage sous le seuil : aucun effet.
Categorie : Unitaire · Déclencheurs de particules
Criticite : Critique
Etapes :
1. Appeler emitLanding avec une vitesse d'impact strictement inférieure au seuil.
Resultat attendu : aliveCount() == 0.

◆ TEST() [2/5]

TEST ( ParticleTriggersTest ,
IntensiteAtterrissageProportionnelleALaVitesseDImpact  )

Au seuil minimal, l'atterrissage produit l'intensité minimale ; au-delà du plafond, l'intensité maximale (jamais davantage) – l'intensité croît strictement entre les deux.

Cas de test : Intensité d'atterrissage proportionnelle à la vitesse d'impact.
Categorie : Unitaire · Déclencheurs de particules
Criticite : Critique
Etapes :
1. Émettre au seuil minimal.
2. Émettre à mi-intervalle (mondes séparés).

  1. Émettre au-delà du plafond.
    Resultat attendu : Nombre de particules croissant strictement (min < mi-intervalle < max) ; jamais plus que LANDING_DUST_MAX_COUNT même bien au-delà du plafond.

◆ TEST() [3/5]

TEST ( ParticleTriggersTest ,
MortProduitUneRafaleDeParticulesDeType  )

emitDeath produit une rafale ponctuelle de particules.

Cas de test : Mort : rafale ponctuelle de particules.
Categorie : Unitaire · Déclencheurs de particules
Criticite : Majeur
Etapes :
1. Appeler emitDeath une fois.
Resultat attendu : Plusieurs particules vivantes, toutes de type ParticleKind::Death.

◆ TEST() [4/5]

TEST ( ParticleTriggersTest ,
RechargementAucuneParticuleResiduelle  )

Le rechargement de niveau vide les particules résiduelles : après clear(), un emitDeath antérieur n'a plus aucune particule vivante.

Cas de test : Rechargement : aucune particule résiduelle.
Categorie : Unitaire · Déclencheurs de particules
Criticite : Majeur
Etapes :
1. Émettre un éclatement de mort.
2. Appeler clear (rechargement).
Resultat attendu : Plus aucune particule vivante.

◆ TEST() [5/5]

TEST ( ParticleTriggersTest ,
TraineeDeDashEmissionContinueUnAppelParPas  )

emitDashTrail est une émission continue : appelée à chaque pas simulé pendant le dash, elle ajoute des particules à chaque appel plutôt que de n'émettre qu'une fois.

Cas de test : Traînée de dash : émission continue, un appel par pas.
Categorie : Unitaire · Déclencheurs de particules
Criticite : Critique
Etapes :
1. Appeler emitDashTrail puis update quatre fois de suite (simulant quatre pas de dash).
Resultat attendu : Le nombre de particules vivantes croît à chaque appel (émission répétée), jamais figé après le premier appel.