|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Tests unitaires des opérations fichiers sur les assets (LOT-43 TACHE-02). More...
#include <cstdint>#include <filesystem>#include <fstream>#include <string>#include <system_error>#include <gtest/gtest.h>#include "HMI/Editor/AssetFileOperations.h"#include "HMI/Graphics/AssetContract.h"#include "HMI/Graphics/TextureAtlas.h"Functions | |
| TEST_F (AssetFileOps, ImporteUnAssetConforme) | |
| Importer un asset conforme le copie dans le dossier géré, en laissant l'original en place : l'auteur importe depuis son dossier de travail, qui ne doit pas se vider au fur et à mesure des imports. | |
| TEST_F (AssetFileOps, RefuseUnAssetNonConforme) | |
| Un asset non conforme au contrat de sa famille est refusé, le message nomme le fichier, et rien n'est copié : un asset aux mauvaises dimensions accepté ne se manifesterait qu'au rendu, longtemps après l'import, sous forme de tuiles décalées. | |
| TEST_F (AssetFileOps, RefuseUneCollisionAlImport) | |
| Importer un second fichier de même nom est refusé plutôt qu'écrasant : deux fichiers homonymes venus de dossiers différents sont un cas courant, et l'asset déjà référencé par des niveaux ne doit pas être remplacé à l'insu de l'auteur. | |
| TEST_F (AssetFileOps, RenommeEtConserveLExtension) | |
| Renommer conserve l'extension d'origine et déplace le fichier : l'auteur saisit un nom, pas un nom de fichier. | |
| TEST_F (AssetFileOps, RefuseUnNomInvalideAuRenommage) | |
| Un nom invalide au renommage (barre oblique, qui sortirait du dossier géré) est refusé sans rien changer : le fichier d'origine reste en place, l'opération est tout ou rien. | |
| TEST_F (AssetFileOps, DupliqueSousUnNomUnique) | |
| Dupliquer deux fois le même asset produit deux copies distinctes : le nom est rendu unique à chaque appel, sinon la seconde duplication écraserait la première — le geste courant pour décliner une variante de skin. | |
| TEST_F (AssetFileOps, SupprimeLeFichier) | |
| Supprimer retire effectivement l'asset du disque et le signale par un résultat favorable — la grille du panneau se fie à ce résultat pour retirer la vignette. | |
| TEST_F (AssetFileOps, OperationSurFichierAbsentEchoueProprement) | |
| Renommer, dupliquer ou supprimer un fichier absent échoue par un résultat récupérable, jamais par une exception : le fichier a pu disparaître entre le balayage et le clic (suppression externe, rechargement à chaud), et l'éditeur doit le signaler sans s'interrompre. | |
Tests unitaires des opérations fichiers sur les assets (LOT-43 TACHE-02).
| TEST_F | ( | AssetFileOps | , |
| DupliqueSousUnNomUnique | ) |
Dupliquer deux fois le même asset produit deux copies distinctes : le nom est rendu unique à chaque appel, sinon la seconde duplication écraserait la première — le geste courant pour décliner une variante de skin.
Cas de test : Dupliquer deux fois le même asset produit deux copies distinctes.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST_F | ( | AssetFileOps | , |
| ImporteUnAssetConforme | ) |
Importer un asset conforme le copie dans le dossier géré, en laissant l'original en place : l'auteur importe depuis son dossier de travail, qui ne doit pas se vider au fur et à mesure des imports.
Cas de test : Importer un asset conforme le copie sans déplacer l'original.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST_F | ( | AssetFileOps | , |
| OperationSurFichierAbsentEchoueProprement | ) |
Renommer, dupliquer ou supprimer un fichier absent échoue par un résultat récupérable, jamais par une exception : le fichier a pu disparaître entre le balayage et le clic (suppression externe, rechargement à chaud), et l'éditeur doit le signaler sans s'interrompre.
Cas de test : Renommer, dupliquer ou supprimer un fichier absent échoue proprement.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST_F | ( | AssetFileOps | , |
| RefuseUnAssetNonConforme | ) |
Un asset non conforme au contrat de sa famille est refusé, le message nomme le fichier, et rien n'est copié : un asset aux mauvaises dimensions accepté ne se manifesterait qu'au rendu, longtemps après l'import, sous forme de tuiles décalées.
Cas de test : Un asset non conforme est refusé en nommant le fichier, sans rien copier.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST_F | ( | AssetFileOps | , |
| RefuseUneCollisionAlImport | ) |
Importer un second fichier de même nom est refusé plutôt qu'écrasant : deux fichiers homonymes venus de dossiers différents sont un cas courant, et l'asset déjà référencé par des niveaux ne doit pas être remplacé à l'insu de l'auteur.
Cas de test : Importer un second fichier de même nom est refusé, sans écraser le premier.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST_F | ( | AssetFileOps | , |
| RefuseUnNomInvalideAuRenommage | ) |
Un nom invalide au renommage (barre oblique, qui sortirait du dossier géré) est refusé sans rien changer : le fichier d'origine reste en place, l'opération est tout ou rien.
Cas de test : Un nom invalide au renommage est refusé sans rien changer.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST_F | ( | AssetFileOps | , |
| RenommeEtConserveLExtension | ) |
Renommer conserve l'extension d'origine et déplace le fichier : l'auteur saisit un nom, pas un nom de fichier.
Perdre l'extension rendrait l'asset invisible au balayage, qui ne retient que les images. Cas de test : Renommer un asset conserve son extension et déplace le fichier.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
| TEST_F | ( | AssetFileOps | , |
| SupprimeLeFichier | ) |
Supprimer retire effectivement l'asset du disque et le signale par un résultat favorable — la grille du panneau se fie à ce résultat pour retirer la vignette.
Cas de test : Supprimer retire effectivement l'asset du disque.
Categorie : Unitaire · Opérations sur fichiers d'assets
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.