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

Tests unitaires de la texture assignée par instance (LOT-45, EX-EDIT-043). More...

#include <algorithm>
#include <string>
#include <vector>
#include <gtest/gtest.h>
#include "Core/Levels/GridPosition.h"
#include "Core/Levels/Level.h"
#include "Core/Levels/LevelDraft.h"
#include "Core/Levels/LevelLoader.h"
#include "Core/Levels/LevelWriter.h"
#include "Core/Levels/TileType.h"

Functions

 TEST (TileTextureOverrideTest, SetTextureOverrideAssigneLaTexture)
 setTextureOverride assigne une texture à une case précise.
 TEST (TileTextureOverrideTest, ReassignerRemplaceLOverrideExistant)
 Réassigner une texture sur une case déjà habillée remplace l'override existant, sans en accumuler un second.
 TEST (TileTextureOverrideTest, RemoveTextureOverrideRetireLOverride)
 removeTextureOverride retire l'override d'une case, sans effet si elle n'en a pas.
 TEST (TileTextureOverrideTest, PeindreUnAutreTypeRetireLOverride)
 Repeindre un autre type de tuile sur une case habillée retire son override (removeLinkedDataAt).
 TEST (TileTextureOverrideTest, PeindreLeMemeTypeConserveLOverride)
 Repeindre le même type de tuile sur une case habillée conserve son override : un coup de pinceau involontaire ne doit pas effacer un habillage.
 TEST (TileTextureOverrideTest, PaintRegionRetireLOverrideDUneCaseDontLeTypeChange)
 paintRegion retire aussi l'override d'une case dont le type change (même funnel que paintTile, appliqué cellule par cellule).
 TEST (TileTextureOverrideTest, CollerUneRegionNeCopiePasLesOverridesDeLaSource)
 Coller une région (paintRegion) ne copie pas les overrides des cases source : un override reste attaché à sa case d'origine, paintRegion ne transporte que des types de tuile.
 TEST (TileTextureOverrideTest, ReduireLaGrilleTronqueLesOverridesHorsBornes)
 Réduire la grille tronque silencieusement les overrides hors des nouvelles bornes, comme les autres données annexes.
 TEST (TileTextureOverrideTest, WouldResizeDropContentSignaleLaPerteDUnOverride)
 wouldResizeDropContent signale la perte d'un override hors des bornes envisagées.
 TEST (TileTextureOverrideTest, UndoRedoCouvrentUneAssignation)
 undo annule une assignation de texture ; redo la rétablit.
 TEST (TileTextureOverrideTest, UndoRestitueUnOverrideRetire)
 undo annule un retrait d'override (le restitue tel quel).
 TEST (TileTextureOverrideTest, FromLevelRestitueLesOverrides)
 fromLevel restitue les overrides de texture d'un niveau déjà chargé.
 TEST (TileTextureOverrideTest, LeChampTextureSurvitAuRoundTripJson)
 Le champ "texture" d'une tuile survit au round-trip JSON (écriture puis relecture).
 TEST (TileTextureOverrideTest, SansOverrideLeChampTextureEstAbsentDuJson)
 Un niveau sans aucune tuile portant "texture" n'écrit ce champ pour aucune tuile.
 TEST (TileTextureOverrideTest, NiveauSansChampTextureSeChargeSansOverride)
 Un niveau existant sans champ "texture" se charge sans erreur ni override (rétrocompatibilité, EX-LVL-005).

Detailed Description

Tests unitaires de la texture assignée par instance (LOT-45, EX-EDIT-043).

Function Documentation

◆ TEST() [1/15]

TEST ( TileTextureOverrideTest ,
CollerUneRegionNeCopiePasLesOverridesDeLaSource  )

Coller une région (paintRegion) ne copie pas les overrides des cases source : un override reste attaché à sa case d'origine, paintRegion ne transporte que des types de tuile.

Cas de test : Coller une région ne copie pas les overrides de la source.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Coller une région ne copie pas les overrides des cases source.

◆ TEST() [2/15]

TEST ( TileTextureOverrideTest ,
FromLevelRestitueLesOverrides  )

fromLevel restitue les overrides de texture d'un niveau déjà chargé.

Cas de test : fromLevel restitue les overrides de texture.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : fromLevel restitue les overrides de texture d'un niveau déjà chargé.

◆ TEST() [3/15]

TEST ( TileTextureOverrideTest ,
LeChampTextureSurvitAuRoundTripJson  )

Le champ "texture" d'une tuile survit au round-trip JSON (écriture puis relecture).

Cas de test : Le champ texture survit au round-trip JSON.
Categorie : Unitaire · Tile Texture Override
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Le champ texture survit au round-trip JSON.

◆ TEST() [4/15]

TEST ( TileTextureOverrideTest ,
NiveauSansChampTextureSeChargeSansOverride  )

Un niveau existant sans champ "texture" se charge sans erreur ni override (rétrocompatibilité, EX-LVL-005).

Cas de test : Un niveau sans champ texture se charge sans override.
Categorie : Unitaire · Tile Texture Override
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un niveau existant sans champ texture se charge sans erreur ni override.

◆ TEST() [5/15]

TEST ( TileTextureOverrideTest ,
PaintRegionRetireLOverrideDUneCaseDontLeTypeChange  )

paintRegion retire aussi l'override d'une case dont le type change (même funnel que paintTile, appliqué cellule par cellule).

Cas de test : paintRegion retire l'override d'une case dont le type change.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : paintRegion retire l'override d'une case dont le type change.

◆ TEST() [6/15]

TEST ( TileTextureOverrideTest ,
PeindreLeMemeTypeConserveLOverride  )

Repeindre le même type de tuile sur une case habillée conserve son override : un coup de pinceau involontaire ne doit pas effacer un habillage.

Cas de test : Repeindre le même type conserve l'override.
Categorie : Unitaire · Tile Texture Override
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Repeindre le même type de tuile sur une case habillée conserve son override.

◆ TEST() [7/15]

TEST ( TileTextureOverrideTest ,
PeindreUnAutreTypeRetireLOverride  )

Repeindre un autre type de tuile sur une case habillée retire son override (removeLinkedDataAt).

Cas de test : Repeindre un autre type retire l'override.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Repeindre un autre type de tuile sur une case habillée retire son override.

◆ TEST() [8/15]

TEST ( TileTextureOverrideTest ,
ReassignerRemplaceLOverrideExistant  )

Réassigner une texture sur une case déjà habillée remplace l'override existant, sans en accumuler un second.

Cas de test : Réassigner une texture remplace l'override existant.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Réassigner une texture remplace l'override existant.

◆ TEST() [9/15]

TEST ( TileTextureOverrideTest ,
ReduireLaGrilleTronqueLesOverridesHorsBornes  )

Réduire la grille tronque silencieusement les overrides hors des nouvelles bornes, comme les autres données annexes.

Cas de test : Réduire la grille tronque les overrides hors bornes.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Réduire la grille tronque silencieusement les overrides hors des nouvelles bornes.

◆ TEST() [10/15]

TEST ( TileTextureOverrideTest ,
RemoveTextureOverrideRetireLOverride  )

removeTextureOverride retire l'override d'une case, sans effet si elle n'en a pas.

Cas de test : removeTextureOverride retire l'override d'une case.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : removeTextureOverride retire l'override d'une case, sans effet si elle n'en a pas.

◆ TEST() [11/15]

TEST ( TileTextureOverrideTest ,
SansOverrideLeChampTextureEstAbsentDuJson  )

Un niveau sans aucune tuile portant "texture" n'écrit ce champ pour aucune tuile.

Cas de test : Sans override, le champ texture est absent du JSON produit.
Categorie : Unitaire · Tile Texture Override
Criticite : Mineur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un niveau sans aucune tuile portant "texture" n'écrit ce champ pour aucune tuile.

◆ TEST() [12/15]

TEST ( TileTextureOverrideTest ,
SetTextureOverrideAssigneLaTexture  )

setTextureOverride assigne une texture à une case précise.

Cas de test : setTextureOverride assigne une texture à une case précise.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : setTextureOverride assigne une texture à une case précise.

◆ TEST() [13/15]

TEST ( TileTextureOverrideTest ,
UndoRedoCouvrentUneAssignation  )

undo annule une assignation de texture ; redo la rétablit.

Cas de test : undo/redo couvrent une assignation de texture.
Categorie : Unitaire · Tile Texture Override
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : undo annule une assignation de texture ; redo la rétablit.

◆ TEST() [14/15]

TEST ( TileTextureOverrideTest ,
UndoRestitueUnOverrideRetire  )

undo annule un retrait d'override (le restitue tel quel).

Cas de test : undo restitue un override retiré.
Categorie : Unitaire · Tile Texture Override
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : undo annule un retrait d'override (le restitue tel quel).

◆ TEST() [15/15]

TEST ( TileTextureOverrideTest ,
WouldResizeDropContentSignaleLaPerteDUnOverride  )

wouldResizeDropContent signale la perte d'un override hors des bornes envisagées.

Cas de test : wouldResizeDropContent signale la perte d'un override.
Categorie : Unitaire · Tile Texture Override
Criticite : Mineur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : wouldResizeDropContent signale la perte d'un override hors des bornes envisagées.