Feedback début tests Quaternion
Closed this issue · 3 comments
Hello, je voulais avoir du feedback sur le début des tests des Quaternions, histoire d'être sûr que je pars dans la bonne direction.
´´´
TEST(Engine, Quaternion_Dot)
{
neko::Quaternion q1 = neko::Quaternion(1,0,0,0);
neko::Quaternion q2 = neko::Quaternion(1,0,0,0);
float expectedDot = 1;
float dotQ1Q2 = neko::Quaternion::Dot(q1, q2);
EXPECT_TRUE(expectedDot - dotQ1Q2 < 0.001f);
}
TEST(Engine, Quaternion_Normalized)
{
neko::Quaternion q = neko::Quaternion(1, 0, 0, 0);
neko::Quaternion expectedNormalized = neko::Quaternion(1,0,0,0);
neko::Quaternion normalized = neko::Quaternion::Normalized(q);
EXPECT_EQ(expectedNormalized, normalized);
}
´´´
Est-ce que ces tests peuvent prouver que les fonctions fonctionnent correctement?
Il te faut tester des valeurs un peu plus exotiques, comme :
neko::Quaternion q = neko::Quaternion(78, 0, 0, 0);
neko::Quaternion expectedNormalized = neko::Quaternion(1,0,0,0);
neko::Quaternion normalized = neko::Quaternion::Normalized(q);
ou encore
neko::Quaternion q = neko::Quaternion(78, 78, 0, 0);
neko::Quaternion expectedNormalized = neko::Quaternion(0.5,0.5,0,0);
neko::Quaternion normalized = neko::Quaternion::Normalized(q);
-> Cela test bien que ta normalisation fait passer à 1
(Je ne sais pas si c'est le bon comportement qu'il doit avoir, qu'on soit d'accord, mais test des valeurs randoms ou excessifs (ex.: >360?))
okok, mais du coup dans l'idée, ces tests confirmerons que les quaternions fonctionnent? Ou je devrais faire une étape en plus?
S'il n'y a pas d'autres cas de figures qu'il faut tester, c'est tout bon ! Test toutes les transformations possibles surtout, bien s'assurer qu'aucune erreur n'est possible