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

Tests unitaires du catalogue de sons (LOT-60, EX-REN-047, EX-REN-048). More...

#include <filesystem>
#include <string>
#include <vector>
#include <gtest/gtest.h>
#include "HMI/Audio/SoundCatalog.h"

Functions

 TEST (SoundCatalogTest, CatalogueValideSeCharge)
 Un catalogue valide se lit sans erreur et resout ses evenements connus.
 TEST (SoundCatalogTest, FichierAbsentEstFileNotFound)
 Un fichier de catalogue absent est un catalogue vide, pas une erreur bloquante.
 TEST (SoundCatalogTest, EntreeMalformeeEchoueLeChargementEntier)
 Une entree malformee fait echouer le chargement entier, jamais un catalogue partiel.
 TEST (SoundCatalogTest, EvenementInconnuResoutNullopt)
 Un evenement inconnu resout silencieusement l'absence de son, jamais une exception.
 TEST (SoundCatalogTest, VersionSuperieureRefusee)
 Une version de format superieure a celle geree est refusee explicitement.
 TEST (SoundCatalogTest, CatalogueLivreValide)
 Le catalogue livre avec le jeu se lit sans erreur.
 TEST (SoundCatalogTest, AssetsDuCatalogueLivreExistent)
 Chaque fichier reference par le catalogue livre existe reellement sur le disque.

Detailed Description

Tests unitaires du catalogue de sons (LOT-60, EX-REN-047, EX-REN-048).

Function Documentation

◆ TEST() [1/7]

TEST ( SoundCatalogTest ,
AssetsDuCatalogueLivreExistent  )

Chaque fichier reference par le catalogue livre existe reellement sur le disque.

Cas de test : Chaque son reference par le catalogue livre existe.
Categorie : Unitaire · Catalogue de sons
Criticite : Critique
Etapes :
1. Lire le catalogue livre.

  1. Pour chaque evenement, verifier que le fichier resolu existe dans Source/Elements/Audio.
    Resultat attendu : Aucune faute de frappe entre le catalogue et les fichiers reellement livres.

◆ TEST() [2/7]

TEST ( SoundCatalogTest ,
CatalogueLivreValide  )

Le catalogue livre avec le jeu se lit sans erreur.

Cas de test : Le fichier de sons livre avec le jeu se lit sans erreur.
Categorie : Unitaire · Catalogue de sons
Criticite : Critique
Etapes :
1. Lire Source/Elements/Audio/sounds.json depuis les sources.
Resultat attendu : La lecture reussit et le catalogue n'est pas vide.

◆ TEST() [3/7]

TEST ( SoundCatalogTest ,
CatalogueValideSeCharge  )

Un catalogue valide se lit sans erreur et resout ses evenements connus.

Cas de test : Un catalogue de sons valide se lit sans erreur.
Categorie : Unitaire · Catalogue de sons
Criticite : Critique
Etapes :
1. Charger un JSON de catalogue avec deux evenements.

  1. Resoudre chacun des deux evenements.
    Resultat attendu : La lecture reussit et chaque evenement resout son fichier attendu.

◆ TEST() [4/7]

TEST ( SoundCatalogTest ,
EntreeMalformeeEchoueLeChargementEntier  )

Une entree malformee fait echouer le chargement entier, jamais un catalogue partiel.

Cas de test : Une entree malformee du catalogue de sons fait echouer tout le chargement.
Categorie : Unitaire · Catalogue de sons
Criticite : Critique
Etapes :
1. Charger un JSON dont une entree "sons" n'est pas une chaine.
Resultat attendu : La lecture echoue avec MalformedStructure – meme garantie que SkinCatalog et AnimationCatalog : jamais un catalogue devine ou partiellement charge.

◆ TEST() [5/7]

TEST ( SoundCatalogTest ,
EvenementInconnuResoutNullopt  )

Un evenement inconnu resout silencieusement l'absence de son, jamais une exception.

Cas de test : Un evenement inconnu du catalogue de sons ne produit aucune erreur.
Categorie : Unitaire · Catalogue de sons
Criticite : Majeur
Etapes :
1. Charger le catalogue de reference.

  1. Resoudre un identifiant d'evenement absent du catalogue.
    Resultat attendu : resolve renvoie std::nullopt, sans exception.

◆ TEST() [6/7]

TEST ( SoundCatalogTest ,
FichierAbsentEstFileNotFound  )

Un fichier de catalogue absent est un catalogue vide, pas une erreur bloquante.

Cas de test : Un fichier de catalogue de sons absent produit un catalogue vide.
Categorie : Unitaire · Catalogue de sons
Criticite : Majeur
Etapes :
1. Charger un catalogue depuis un chemin inexistant.
Resultat attendu : La lecture echoue avec le code FileNotFound (cas legitime : c'est a l'appelant de retenir un catalogue vide comme etat de depart).

◆ TEST() [7/7]

TEST ( SoundCatalogTest ,
VersionSuperieureRefusee  )

Une version de format superieure a celle geree est refusee explicitement.

Cas de test : Une version de format superieure au catalogue de sons connu est refusee.
Categorie : Unitaire · Catalogue de sons
Criticite : Mineur
Etapes :
1. Charger un JSON dont le champ "version" depasse SoundCatalog::FORMAT_VERSION.
Resultat attendu : La lecture echoue avec UnsupportedVersion, jamais lue au mieux.