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

Tests unitaires des tuiles animées (LOT-46 TACHE-05) : horloge partagée par asset, mise en phase, exclusion des combinaisons non supportées. More...

Functions

 TEST (AnimatedTilesTest, SkinAnimeProduitDesRegionsDifferentesAuFilDesPas)
 Un skin animé change de région au fil des pas, en restant sur le même rang de la spritesheet : c'est la preuve que l'horloge d'animation atteint bien la tuile, et que le découpage parcourt la planche horizontalement comme le veut la convention d'asset.
 TEST (AnimatedTilesTest, SkinNonAnimeProduitUneRegionConstante)
 Un skin non animé rend la même région à chaque appel : sans image courante renseignée, la résolution retombe sur l'image entière.
 TEST (AnimatedTilesTest, SkinAnimeUtiliseLaRegionCouranteDeAnimatedFrame)
 Quand une image courante est renseignée, la résolution l'utilise telle quelle plutôt que la planche entière : c'est le point de jonction entre l'horloge d'animation, partagée par asset, et le rendu d'une tuile donnée.
 TEST (AnimatedTilesTest, MiseEnPhaseDeuxTuilesDuMemeTypeAffichentLaMemeImageAuMemePas)
 Deux tuiles du même asset restent en phase à chaque pas, image par image : c'est la garantie de déterminisme sur laquelle repose l'horloge unique par asset.
 TEST (AnimatedTilesTest, Bitmask16ExclutLAnimation)
 Le mode à raccords automatiques exclut l'animation : la planche y sert déjà à décrire les seize voisinages possibles, ses cases ne peuvent pas servir en même temps d'images successives.
 TEST (AnimatedTilesTest, SingleSansSilhouetteNExclutPasLAnimation)
 Une tuile pleine en mode image simple, elle, peut être animée : c'est le cas nominal (eau, lave, bloc scintillant).

Detailed Description

Tests unitaires des tuiles animées (LOT-46 TACHE-05) : horloge partagée par asset, mise en phase, exclusion des combinaisons non supportées.

Sans GPU.

Function Documentation

◆ TEST() [1/6]

TEST ( AnimatedTilesTest ,
Bitmask16ExclutLAnimation  )

Le mode à raccords automatiques exclut l'animation : la planche y sert déjà à décrire les seize voisinages possibles, ses cases ne peuvent pas servir en même temps d'images successives.

Cas de test : Le mode à raccords automatiques exclut l'animation.
Categorie : Unitaire · Tuiles animées
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [2/6]

TEST ( AnimatedTilesTest ,
MiseEnPhaseDeuxTuilesDuMemeTypeAffichentLaMemeImageAuMemePas  )

Deux tuiles du même asset restent en phase à chaque pas, image par image : c'est la garantie de déterminisme sur laquelle repose l'horloge unique par asset.

Deux cases d'eau voisines déphasées se verraient immédiatement, et trahiraient une progression par instance. Cas de test : Deux tuiles du même asset affichent la même image à chaque pas.
Categorie : Unitaire · Tuiles animées
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [3/6]

TEST ( AnimatedTilesTest ,
SingleSansSilhouetteNExclutPasLAnimation  )

Une tuile pleine en mode image simple, elle, peut être animée : c'est le cas nominal (eau, lave, bloc scintillant).

Le pendant positif des deux exclusions ci-dessus, sans lequel elles pourraient être trop larges sans que rien ne le signale. Cas de test : Une tuile pleine en mode image simple n'exclut pas l'animation.
Categorie : Unitaire · Tuiles animées
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [4/6]

TEST ( AnimatedTilesTest ,
SkinAnimeProduitDesRegionsDifferentesAuFilDesPas  )

Un skin animé change de région au fil des pas, en restant sur le même rang de la spritesheet : c'est la preuve que l'horloge d'animation atteint bien la tuile, et que le découpage parcourt la planche horizontalement comme le veut la convention d'asset.

Cas de test : Un skin animé produit des régions différentes au fil des pas, sur un même rang.
Categorie : Unitaire · Tuiles animées
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [5/6]

TEST ( AnimatedTilesTest ,
SkinAnimeUtiliseLaRegionCouranteDeAnimatedFrame  )

Quand une image courante est renseignée, la résolution l'utilise telle quelle plutôt que la planche entière : c'est le point de jonction entre l'horloge d'animation, partagée par asset, et le rendu d'une tuile donnée.

Cas de test : Un skin animé utilise la région de l'image courante, pas la planche entière.
Categorie : Unitaire · Tuiles animées
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [6/6]

TEST ( AnimatedTilesTest ,
SkinNonAnimeProduitUneRegionConstante  )

Un skin non animé rend la même région à chaque appel : sans image courante renseignée, la résolution retombe sur l'image entière.

La grande majorité des skins n'est pas animée, et ne doit rien payer au mécanisme d'animation. Cas de test : Un skin non animé produit une région constante d'un appel à l'autre.
Categorie : Unitaire · Tuiles animées
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.