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

Tests unitaires du vecteur 2D de Core. More...

#include <gtest/gtest.h>
#include "Core/Math/Vector2.h"

Functions

 TEST (Vector2Test, AdditionSoustraction)
 L'addition et la soustraction agissent composante à composante.
 TEST (Vector2Test, EchelleScalaire)
 La multiplication et la division par un scalaire mettent le vecteur à l'échelle.
 TEST (Vector2Test, OperateursComposes)
 Les opérateurs composés modifient le vecteur en place.
 TEST (Vector2Test, ProduitScalaire)
 Le produit scalaire renvoie la somme des produits composante à composante.
 TEST (Vector2Test, Longueur)
 La longueur d'un (3,4) vaut 5 (triangle 3-4-5).
 TEST (Vector2Test, NormalisationNonNulle)
 La normalisation d'un vecteur non nul produit un vecteur de longueur 1.
 TEST (Vector2Test, NormalisationVecteurNul)
 La normalisation du vecteur nul renvoie le vecteur nul (aucune direction).
 TEST (Vector2Test, EgaliteApprochee)
 L'égalité est approchée : de petites erreurs de calcul restent égales.

Detailed Description

Tests unitaires du vecteur 2D de Core.

Function Documentation

◆ TEST() [1/8]

TEST ( Vector2Test ,
AdditionSoustraction  )

L'addition et la soustraction agissent composante à composante.

Cas de test : Vector2 : addition et soustraction
Categorie : Unitaire · Mathématiques
Criticite : Majeur
Etapes :
1. Poser deux vecteurs.
2. Calculer a+b et a-b.
Resultat attendu : Opérations composante à composante correctes.

◆ TEST() [2/8]

TEST ( Vector2Test ,
EchelleScalaire  )

La multiplication et la division par un scalaire mettent le vecteur à l'échelle.

Cas de test : Vector2 : échelle par un scalaire
Categorie : Unitaire · Mathématiques
Criticite : Majeur
Etapes :
1. Poser un vecteur.
2. Multiplier/diviser par un scalaire, prendre l'opposé.
Resultat attendu : Chaque composante est mise à l'échelle ; l'opposé inverse les signes.

◆ TEST() [3/8]

TEST ( Vector2Test ,
EgaliteApprochee  )

L'égalité est approchée : de petites erreurs de calcul restent égales.

Cas de test : Vector2 : égalité approchée
Categorie : Unitaire · Mathématiques
Criticite : Majeur
Etapes :
1. Comparer (0,1+0,2 ; 1) à (0,3 ; 1).
2. Comparer deux vecteurs distincts.
Resultat attendu : Égal malgré l'erreur flottante ; différent pour des vecteurs distincts.

◆ TEST() [4/8]

TEST ( Vector2Test ,
Longueur  )

La longueur d'un (3,4) vaut 5 (triangle 3-4-5).

Cas de test : Vector2 : longueur
Categorie : Unitaire · Mathématiques
Criticite : Majeur
Etapes :
1. Calculer lengthSquared et length de (3, 4).
Resultat attendu : 25 et 5 (théorème de Pythagore).

◆ TEST() [5/8]

TEST ( Vector2Test ,
NormalisationNonNulle  )

La normalisation d'un vecteur non nul produit un vecteur de longueur 1.

Cas de test : Vector2 : normalisation (non nul)
Categorie : Unitaire · Mathématiques
Criticite : Majeur
Etapes :
1. Normaliser (3, 4).
Resultat attendu : Longueur 1 ; vecteur (0,6 ; 0,8).

◆ TEST() [6/8]

TEST ( Vector2Test ,
NormalisationVecteurNul  )

La normalisation du vecteur nul renvoie le vecteur nul (aucune direction).

Cas de test : Vector2 : normalisation (vecteur nul)
Categorie : Unitaire · Mathématiques
Criticite : Majeur
Etapes :
1. Normaliser le vecteur nul.
Resultat attendu : Le vecteur nul (pas de division par zéro).

◆ TEST() [7/8]

TEST ( Vector2Test ,
OperateursComposes  )

Les opérateurs composés modifient le vecteur en place.

Cas de test : Vector2 : opérateurs composés
Categorie : Unitaire · Mathématiques
Criticite : Mineur
Etapes :
1. Appliquer +=, -=, *=, /= à un vecteur.
Resultat attendu : Le vecteur est modifié en place, résultats corrects.

◆ TEST() [8/8]

TEST ( Vector2Test ,
ProduitScalaire  )

Le produit scalaire renvoie la somme des produits composante à composante.

Cas de test : Vector2 : produit scalaire
Categorie : Unitaire · Mathématiques
Criticite : Majeur
Etapes :
1. Calculer a·b.
2. Calculer le produit de deux vecteurs orthogonaux.
Resultat attendu : Somme des produits (11) ; produit nul pour des vecteurs orthogonaux.