|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires de la secousse d'écran (LOT-53 TACHE-03, EX-REN-008). More...
Functions | |
| TEST (ScreenShakeTest, EtatParDefautAucunDecalage) | |
| Une secousse jamais déclenchée (état par défaut) n'a aucun décalage. | |
| TEST (ScreenShakeTest, DecroitLineairementJusquAZeroALaDureePrevue) | |
| Le décalage décroît linéairement de l'amplitude à zéro sur la durée prévue, et reste nul une fois la durée écoulée (jamais avant, jamais après). | |
| TEST (ScreenShakeTest, DecalageArrondiAuPixelEntier) | |
| Le décalage est arrondi au pixel écran entier (EX-ARCH-022), même quand l'amplitude et la fraction de durée écoulée produisent une valeur fractionnaire. | |
| TEST (ScreenShakeTest, AucunDecalageHorizontal) | |
| La secousse ne décale jamais l'axe horizontal (discrétion, cf. | |
| TEST (ScreenShakeTest, NeModifieNiLeCentreNiLeCadrageVisible) | |
| La secousse d'écran ne modifie jamais le centre ni le cadrage visible de la caméra : setShakeOffsetPixels n'affecte que la projection de rendu, jamais _center, donc ne peut structurellement pas provoquer de bascule de salle (pilotée par la position du personnage, pas par la caméra) ni fausser le culling. | |
Tests unitaires de la secousse d'écran (LOT-53 TACHE-03, EX-REN-008).
| TEST | ( | ScreenShakeTest | , |
| AucunDecalageHorizontal | ) |
La secousse ne décale jamais l'axe horizontal (discrétion, cf.
epic.md). Cas de test : Aucun décalage horizontal.
Categorie : Unitaire · Secousse d'écran
Criticite : Mineur
Etapes :
1. Déclencher une secousse.
2. Lire le décalage à plusieurs instants.
Resultat attendu : offset.x == 0 en toute circonstance.
| TEST | ( | ScreenShakeTest | , |
| DecalageArrondiAuPixelEntier | ) |
Le décalage est arrondi au pixel écran entier (EX-ARCH-022), même quand l'amplitude et la fraction de durée écoulée produisent une valeur fractionnaire.
Cas de test : Décalage arrondi au pixel entier.
Categorie : Unitaire · Secousse d'écran
Criticite : Majeur
Etapes :
1. Déclencher une secousse (amplitude 5, durée 0,3 s).
2. Avancer d'un tiers de la durée (décalage brut 3,33).
Resultat attendu : Le décalage lu est l'entier arrondi (3), pas la valeur brute.
| TEST | ( | ScreenShakeTest | , |
| DecroitLineairementJusquAZeroALaDureePrevue | ) |
Le décalage décroît linéairement de l'amplitude à zéro sur la durée prévue, et reste nul une fois la durée écoulée (jamais avant, jamais après).
Cas de test : Décroissance jusqu'à zéro dans la durée prévue.
Categorie : Unitaire · Secousse d'écran
Criticite : Critique
Etapes :
1. Déclencher une secousse (amplitude 4, durée 0,2 s).
2. Lire le décalage au déclenchement, à mi-durée, à la durée exacte, puis bien au-delà.
Resultat attendu : Amplitude pleine au déclenchement ; moitié à mi-durée ; nul à la durée exacte et au-delà (jamais négatif).
| TEST | ( | ScreenShakeTest | , |
| EtatParDefautAucunDecalage | ) |
Une secousse jamais déclenchée (état par défaut) n'a aucun décalage.
Cas de test : État par défaut : aucun décalage.
Categorie : Unitaire · Secousse d'écran
Criticite : Majeur
Etapes :
1. Construire un hmi::ScreenShakeState par défaut.
2. Lire son décalage.
Resultat attendu : Décalage nul sur les deux axes.
| TEST | ( | ScreenShakeTest | , |
| NeModifieNiLeCentreNiLeCadrageVisible | ) |
La secousse d'écran ne modifie jamais le centre ni le cadrage visible de la caméra : setShakeOffsetPixels n'affecte que la projection de rendu, jamais _center, donc ne peut structurellement pas provoquer de bascule de salle (pilotée par la position du personnage, pas par la caméra) ni fausser le culling.
Cas de test : La secousse ne modifie ni le centre ni le cadrage visible.
Categorie : Unitaire · Secousse d'écran
Criticite : Critique
Etapes :
1. Poser un centre/zoom sur une caméra, noter center()/visibleBounds().