|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires du format nom-asset.anim.json (hmi::AnimationCatalog, LOT-46 TACHE-03) : lecture, validation, traduction en région de texture. More...
Functions | |
| TEST (AnimationCatalogTest, RoundTripClipsMultiplesDureeParDefautEtOneShot) | |
| Un descripteur valide se relit intégralement : dimensions d'image, clips multiples, durée par défaut quand elle est omise, mode joué-une-fois et clip suivant résolu dans le même jeu. | |
| TEST (AnimationCatalogTest, JsonInvalideEstUneErreurExploitable) | |
| Un JSON illisible donne une erreur d'analyse exploitable, avec un message non vide : les descripteurs sont écrits à la main, une erreur muette laisserait l'artiste sans piste. | |
| TEST (AnimationCatalogTest, VersionInconnueEstRefusee) | |
| Une version de format inconnue est refusée explicitement plutôt que lue au mieux : mieux vaut un refus net qu'une animation silencieusement fausse issue d'un format futur. | |
| TEST (AnimationCatalogTest, ClipSuivantInexistantEstRefuse) | |
| Un clip suivant qui ne désigne aucun clip du descripteur est refusé au chargement : cette incohérence ne se manifesterait sinon qu'à la fin de la transition, en pleine partie. | |
| TEST (AnimationCatalogTest, IndiceDImageNegatifEstRefuse) | |
| Un indice d'image négatif est refusé : il indexerait la spritesheet hors de ses bornes. | |
| TEST (AnimationCatalogTest, ClipSansFramesEstRefuse) | |
| Un clip sans aucune image est refusé : il n'aurait rien à afficher, et son absence d'images ne se verrait qu'au moment de le jouer. | |
| TEST (AnimationCatalogTest, FichierAbsentEstFileNotFoundSansException) | |
| Un fichier absent donne un code d'erreur dédié, sans exception : la plupart des assets n'ont pas de descripteur, l'absence est le cas courant et non une anomalie. | |
| TEST (AnimationCatalogTest, DescriptorFileNameRemplaceLExtension) | |
| Le nom du descripteur se déduit de celui de l'image en remplaçant l'extension, chemin de sous-dossier conservé : perdre le préfixe ferait chercher le descripteur au mauvais endroit, un piège déjà rencontré sur les clés du cache de textures. | |
| TEST (AnimationCatalogTest, CoherenceAvecLePngValideeSurSpritesheetAUnRang) | |
| Un descripteur cohérent avec les dimensions réelles du PNG est validé : six images de 16 px sur un rang de 16 px de haut. | |
| TEST (AnimationCatalogTest, TailleDImageIncoherenteAvecLePngEstRefusee) | |
| Une hauteur de PNG différente de la hauteur d'image (plusieurs rangs, non supportés) ou une largeur qui n'est pas un multiple de la largeur d'image sont refusées, avec un message : ce sont les deux façons de se tromper en découpant une planche. | |
| TEST (AnimationCatalogTest, IndiceDImageHorsBornesDeLaSpritesheetReelleEstRefuse) | |
| Un indice d'image au-delà de ce que contient réellement la spritesheet est refusé, même quand la largeur est un multiple valide : la validation confronte les clips au fichier, pas seulement le fichier à lui-même. | |
| TEST (AnimationCatalogTest, FrameRegionPremiereEtDerniereImageSpritesheetAUnRang) | |
| La région d'une image se déduit de son indice par simple décalage horizontal, l'ordonnée ne variant jamais : c'est la convention de planche à un seul rang, qui rend le découpage prévisible pour l'artiste. | |
Tests unitaires du format nom-asset.anim.json (hmi::AnimationCatalog, LOT-46 TACHE-03) : lecture, validation, traduction en région de texture.
Sans GPU ni Qt.
| TEST | ( | AnimationCatalogTest | , |
| ClipSansFramesEstRefuse | ) |
Un clip sans aucune image est refusé : il n'aurait rien à afficher, et son absence d'images ne se verrait qu'au moment de le jouer.
Cas de test : Un clip sans images est refusé.
Categorie : Unitaire · Catalogue d'animations
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| ClipSuivantInexistantEstRefuse | ) |
Un clip suivant qui ne désigne aucun clip du descripteur est refusé au chargement : cette incohérence ne se manifesterait sinon qu'à la fin de la transition, en pleine partie.
Cas de test : Un clip suivant inexistant est refusé au chargement.
Categorie : Unitaire · Catalogue d'animations
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| CoherenceAvecLePngValideeSurSpritesheetAUnRang | ) |
Un descripteur cohérent avec les dimensions réelles du PNG est validé : six images de 16 px sur un rang de 16 px de haut.
Cas de test : Un descripteur cohérent avec les dimensions du PNG est validé.
Categorie : Unitaire · Catalogue d'animations
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| DescriptorFileNameRemplaceLExtension | ) |
Le nom du descripteur se déduit de celui de l'image en remplaçant l'extension, chemin de sous-dossier conservé : perdre le préfixe ferait chercher le descripteur au mauvais endroit, un piège déjà rencontré sur les clés du cache de textures.
Cas de test : Le nom du descripteur remplace l'extension en conservant le chemin.
Categorie : Unitaire · Catalogue d'animations
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| FichierAbsentEstFileNotFoundSansException | ) |
Un fichier absent donne un code d'erreur dédié, sans exception : la plupart des assets n'ont pas de descripteur, l'absence est le cas courant et non une anomalie.
Cas de test : Un fichier absent donne un code dédié, sans exception.
Categorie : Unitaire · Catalogue d'animations
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| FrameRegionPremiereEtDerniereImageSpritesheetAUnRang | ) |
La région d'une image se déduit de son indice par simple décalage horizontal, l'ordonnée ne variant jamais : c'est la convention de planche à un seul rang, qui rend le découpage prévisible pour l'artiste.
Cas de test : La région d'une image se déduit de son indice par décalage horizontal, ordonnée constante.
Categorie : Unitaire · Catalogue d'animations
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| IndiceDImageHorsBornesDeLaSpritesheetReelleEstRefuse | ) |
Un indice d'image au-delà de ce que contient réellement la spritesheet est refusé, même quand la largeur est un multiple valide : la validation confronte les clips au fichier, pas seulement le fichier à lui-même.
Cas de test : Un indice d'image hors des bornes réelles de la spritesheet est refusé.
Categorie : Unitaire · Catalogue d'animations
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| IndiceDImageNegatifEstRefuse | ) |
Un indice d'image négatif est refusé : il indexerait la spritesheet hors de ses bornes.
Cas de test : Un indice d'image négatif est refusé.
Categorie : Unitaire · Catalogue d'animations
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| JsonInvalideEstUneErreurExploitable | ) |
Un JSON illisible donne une erreur d'analyse exploitable, avec un message non vide : les descripteurs sont écrits à la main, une erreur muette laisserait l'artiste sans piste.
Cas de test : Un JSON invalide donne une erreur d'analyse avec un message exploitable.
Categorie : Unitaire · Catalogue d'animations
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| RoundTripClipsMultiplesDureeParDefautEtOneShot | ) |
Un descripteur valide se relit intégralement : dimensions d'image, clips multiples, durée par défaut quand elle est omise, mode joué-une-fois et clip suivant résolu dans le même jeu.
C'est le contrat complet du format, vérifié en une fois sur un cas nominal. Cas de test : Un descripteur valide se relit intégralement, durée par défaut et clip suivant compris.
Categorie : Unitaire · Catalogue d'animations
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| TailleDImageIncoherenteAvecLePngEstRefusee | ) |
Une hauteur de PNG différente de la hauteur d'image (plusieurs rangs, non supportés) ou une largeur qui n'est pas un multiple de la largeur d'image sont refusées, avec un message : ce sont les deux façons de se tromper en découpant une planche.
Cas de test : Des dimensions de PNG incohérentes avec l'image sont refusées.
Categorie : Unitaire · Catalogue d'animations
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST | ( | AnimationCatalogTest | , |
| VersionInconnueEstRefusee | ) |
Une version de format inconnue est refusée explicitement plutôt que lue au mieux : mieux vaut un refus net qu'une animation silencieusement fausse issue d'un format futur.
Cas de test : Une version de format inconnue est refusée.
Categorie : Unitaire · Catalogue d'animations
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.