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

Tests unitaires du stockage de composants en sparse set. More...

#include <stdexcept>
#include <gtest/gtest.h>
#include "Core/Diagnostics/Assert.h"
#include "Core/Ecs/ComponentPool.h"
#include "Core/Ecs/Entity.h"
#include "Core/Ecs/EntityManager.h"

Functions

 TEST (ComponentPoolTest, AjoutPuisAcces)
 add puis get renvoie la valeur stockée ; has est cohérent.
 TEST (ComponentPoolTest, GetRenvoieReferenceModifiable)
 get renvoie une référence modifiable sur le composant stocké.
 TEST (ComponentPoolTest, RemoveAuMilieuSwapAndPop)
 remove d'un élément au milieu (swap-and-pop) laisse les autres composants accessibles et corrects, et le stockage dense reste contigu.
 TEST (ComponentPoolTest, RemoveDernierElement)
 Retirer le dernier élément ne perturbe pas les précédents.
 TEST (ComponentPoolTest, HandlePerimeNePossedePasLeComposant)
 Un handle périmé (index recyclé, génération différente) ne possède pas le composant de l'ancienne entité.
 TEST (ComponentPoolTest, RemoveIfPresent)
 removeIfPresent retire si le composant existe, sinon ne fait rien.
 TEST (ComponentPoolTest, GetSurEntiteAbsenteViolePrecondition)
 get sur une entité absente viole une précondition (assertion en Debug).

Detailed Description

Tests unitaires du stockage de composants en sparse set.

Function Documentation

◆ TEST() [1/7]

TEST ( ComponentPoolTest ,
AjoutPuisAcces  )

add puis get renvoie la valeur stockée ; has est cohérent.

Cas de test : add puis get renvoie la valeur stockée ; has est cohérent.
Categorie : Unitaire · Component Pool
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : add puis get renvoie la valeur stockée ; has est cohérent.

◆ TEST() [2/7]

TEST ( ComponentPoolTest ,
GetRenvoieReferenceModifiable  )

get renvoie une référence modifiable sur le composant stocké.

Cas de test : get renvoie une référence modifiable sur le composant stocké.
Categorie : Unitaire · Component Pool
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : get renvoie une référence modifiable sur le composant stocké.

◆ TEST() [3/7]

TEST ( ComponentPoolTest ,
GetSurEntiteAbsenteViolePrecondition  )

get sur une entité absente viole une précondition (assertion en Debug).

Cas de test : get sur une entité absente viole une précondition (assertion en Debug).
Categorie : Unitaire · Component Pool
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : get sur une entité absente viole une précondition (assertion en Debug).

◆ TEST() [4/7]

TEST ( ComponentPoolTest ,
HandlePerimeNePossedePasLeComposant  )

Un handle périmé (index recyclé, génération différente) ne possède pas le composant de l'ancienne entité.

Cas de test : Un handle périmé (index recyclé, génération différente) ne possède pas le composant de l'ancienne entité.
Categorie : Unitaire · Component Pool
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Un handle périmé (index recyclé, génération différente) ne possède pas le composant de l'ancienne entité.

◆ TEST() [5/7]

TEST ( ComponentPoolTest ,
RemoveAuMilieuSwapAndPop  )

remove d'un élément au milieu (swap-and-pop) laisse les autres composants accessibles et corrects, et le stockage dense reste contigu.

Cas de test : remove d'un élément au milieu (swap-and-pop) laisse les autres composants accessibles et corrects, et le stockage dense reste contigu.
Categorie : Unitaire · Component Pool
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : remove d'un élément au milieu (swap-and-pop) laisse les autres composants accessibles et corrects, et le stockage dense reste contigu.

◆ TEST() [6/7]

TEST ( ComponentPoolTest ,
RemoveDernierElement  )

Retirer le dernier élément ne perturbe pas les précédents.

Cas de test : Retirer le dernier élément ne perturbe pas les précédents.
Categorie : Unitaire · Component Pool
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : Retirer le dernier élément ne perturbe pas les précédents.

◆ TEST() [7/7]

TEST ( ComponentPoolTest ,
RemoveIfPresent  )

removeIfPresent retire si le composant existe, sinon ne fait rien.

Cas de test : removeIfPresent retire si le composant existe, sinon ne fait rien.
Categorie : Unitaire · Component Pool
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.
Resultat attendu : removeIfPresent retire si le composant existe, sinon ne fait rien.