JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
test_link_geometry.cpp File Reference
#include <gtest/gtest.h>
#include "Core/Levels/GridPosition.h"
#include "Core/Levels/LevelDraft.h"
#include "Core/Levels/TileType.h"
#include "HMI/Editor/LinkGeometry.h"

Functions

 TEST (LinkGeometry, LinkSegmentRelieLesCentresDeCase)
 Le trait relie les centres des deux cases (origine en haut à gauche, demi-case ajoutée) : partir du coin ferait pointer les flèches à côté des mécanismes qu'elles relient.
 TEST (LinkGeometry, LinkSegmentVertical)
 Un lien vertical ne fait varier que l'ordonnée, dans le sens du déclencheur vers la cible : l'orientation du segment porte le sens de lecture de la flèche.
 TEST (LinkGeometry, LinkSegmentDiagonalSansDecalage)
 Un lien diagonal fait varier les deux coordonnées et, s'il est seul, ne subit aucun décalage : l'écartement en éventail ne se paie que lorsqu'il sert à distinguer des frères.
 TEST (LinkGeometry, LinkSegmentDecalageAntiSuperpositionBaseCommune)
 Plusieurs liens partant du même déclencheur gardent une base commune et n'écartent que leur extrémité cible, symétriquement autour du centre et de façon déterministe.
 TEST (LinkGeometry, ArrowHeadOrienteeVersLaCible)
 La pointe de flèche a ses deux ailes en retrait de la cible et symétriques par rapport à l'axe du segment : c'est ce qui rend le sens de la liaison lisible d'un coup d'œil.
 TEST (LinkGeometry, ArrowHeadSegmentDegenere)
 Un segment dégénéré (mêmes extrémités) n'a pas de direction : la pointe se replie sur le point lui-même plutôt que de produire des coordonnées non définies issues d'une normalisation par zéro.
 TEST (LinkGeometry, BuildLinkRowsVideSansLiaison)
 Un brouillon sans aucune liaison donne une liste vide : le panneau affiche alors son état vide, il n'a pas de cas particulier à traiter.

Function Documentation

◆ TEST() [1/7]

TEST ( LinkGeometry ,
ArrowHeadOrienteeVersLaCible  )

La pointe de flèche a ses deux ailes en retrait de la cible et symétriques par rapport à l'axe du segment : c'est ce qui rend le sens de la liaison lisible d'un coup d'œil.

Cas de test : La pointe de flèche a ses ailes en retrait et symétriques par rapport à l'axe.
Categorie : Unitaire · Géométrie des liens
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [2/7]

TEST ( LinkGeometry ,
ArrowHeadSegmentDegenere  )

Un segment dégénéré (mêmes extrémités) n'a pas de direction : la pointe se replie sur le point lui-même plutôt que de produire des coordonnées non définies issues d'une normalisation par zéro.

Cas de test : Un segment dégénéré replie la pointe sur le point, sans division par zéro.
Categorie : Unitaire · Géométrie des liens
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [3/7]

TEST ( LinkGeometry ,
BuildLinkRowsVideSansLiaison  )

Un brouillon sans aucune liaison donne une liste vide : le panneau affiche alors son état vide, il n'a pas de cas particulier à traiter.

Cas de test : Un brouillon sans liaison donne une liste vide.
Categorie : Unitaire · Géométrie des liens
Criticite : Mineur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [4/7]

TEST ( LinkGeometry ,
LinkSegmentDecalageAntiSuperpositionBaseCommune  )

Plusieurs liens partant du même déclencheur gardent une base commune et n'écartent que leur extrémité cible, symétriquement autour du centre et de façon déterministe.

Sans cet éventail, trois liens vers la même zone se superposeraient en un seul trait illisible ; sans déterminisme, ils sauteraient d'une frame à l'autre. Cas de test : Des liens frères gardent une base commune et écartent symétriquement leur extrémité cible.
Categorie : Unitaire · Géométrie des liens
Criticite : Critique
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [5/7]

TEST ( LinkGeometry ,
LinkSegmentDiagonalSansDecalage  )

Un lien diagonal fait varier les deux coordonnées et, s'il est seul, ne subit aucun décalage : l'écartement en éventail ne se paie que lorsqu'il sert à distinguer des frères.

Cas de test : Un lien diagonal seul relie les centres sans aucun décalage.
Categorie : Unitaire · Géométrie des liens
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [6/7]

TEST ( LinkGeometry ,
LinkSegmentRelieLesCentresDeCase  )

Le trait relie les centres des deux cases (origine en haut à gauche, demi-case ajoutée) : partir du coin ferait pointer les flèches à côté des mécanismes qu'elles relient.

Cas de test : Le trait de liaison relie les centres des deux cases.
Categorie : Unitaire · Géométrie des liens
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.

◆ TEST() [7/7]

TEST ( LinkGeometry ,
LinkSegmentVertical  )

Un lien vertical ne fait varier que l'ordonnée, dans le sens du déclencheur vers la cible : l'orientation du segment porte le sens de lecture de la flèche.

Cas de test : Un lien vertical ne fait varier que l'ordonnée, du déclencheur vers la cible.
Categorie : Unitaire · Géométrie des liens
Criticite : Majeur
Etapes :
1. Mettre en place le contexte du test (arrangement).
2. Executer le scenario et verifier les assertions.