tests: add more tests for vec3

This commit is contained in:
Recep Aslantas
2019-09-23 12:03:06 +03:00
parent 3a48e4cd84
commit 37c2650b0a
2 changed files with 163 additions and 0 deletions

View File

@@ -1012,6 +1012,153 @@ TEST_IMPL(GLM_PREFIX, vec3_minv) {
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_ortho) {
vec3 v1, v2, v3;
vec3 v5, v6, v7;
float a;
test_rand_vec3(v1);
test_rand_vec3(v2);
test_rand_vec3(v3);
GLM(vec3_ortho)(v1, v5);
GLM(vec3_ortho)(v2, v6);
GLM(vec3_ortho)(v3, v7);
a = glm_vec3_angle(v1, v5);
ASSERT(!isinf(a))
ASSERT(!isnan(a))
ASSERT(test_eq(a, GLM_PI_2))
a = glm_vec3_angle(v2, v6);
ASSERT(!isinf(a))
ASSERT(!isnan(a))
ASSERT(test_eq(a, GLM_PI_2))
a = glm_vec3_angle(v3, v7);
ASSERT(!isinf(a))
ASSERT(!isnan(a))
ASSERT(test_eq(a, GLM_PI_2))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_clamp) {
vec3 v1 = {-1.456f, -11.456f, 31.456f};
vec3 v2 = {0.110f, 111.0f, 11.0f};
vec3 v3 = {78.0f, 32.0f, -78.0f};
GLM(vec3_clamp)(v1, -1.03f, 30.0f);
GLM(vec3_clamp)(v2, 0.11f, 111.0f);
GLM(vec3_clamp)(v3, -88.0f, 70.0f);
ASSERT(test_eq(v1[0], -1.03f))
ASSERT(test_eq(v1[1], -1.03f))
ASSERT(test_eq(v1[2], 30.0f))
ASSERT(test_eq(v2[0], 0.11f))
ASSERT(test_eq(v2[1], 111.0f))
ASSERT(test_eq(v2[2], 11.0f))
ASSERT(test_eq(v3[0], 70.0f))
ASSERT(test_eq(v3[1], 32.0f))
ASSERT(test_eq(v3[2], -78.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_lerp) {
vec3 v1 = {-100.0f, -200.0f, -10.0f};
vec3 v2 = {100.0f, 200.0f, 10.0f};
vec3 v3;
GLM(vec3_lerp)(v1, v2, 0.5f, v3);
ASSERT(test_eq(v3[0], 0.0f))
ASSERT(test_eq(v3[1], 0.0f))
ASSERT(test_eq(v3[2], 0.0f))
GLM(vec3_lerp)(v1, v2, 0.75f, v3);
ASSERT(test_eq(v3[0], 50.0f))
ASSERT(test_eq(v3[1], 100.03f))
ASSERT(test_eq(v3[2], 5.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_lerpc) {
vec3 v1 = {-100.0f, -200.0f, -10.0f};
vec3 v2 = {100.0f, 200.0f, 10.0f};
vec3 v3;
GLM(vec3_lerpc)(v1, v2, 0.5f, v3);
ASSERT(test_eq(v3[0], 0.0f))
ASSERT(test_eq(v3[1], 0.0f))
ASSERT(test_eq(v3[2], 0.0f))
GLM(vec3_lerpc)(v1, v2, 0.75f, v3);
ASSERT(test_eq(v3[0], 50.0f))
ASSERT(test_eq(v3[1], 100.03f))
ASSERT(test_eq(v3[2], 5.0f))
GLM(vec3_lerpc)(v1, v2, -1.75f, v3);
ASSERT(test_eq(v3[0], -100.0f))
ASSERT(test_eq(v3[1], -200.0f))
ASSERT(test_eq(v3[2], -10.0f))
GLM(vec3_lerpc)(v1, v2, 1.75f, v3);
ASSERT(test_eq(v3[0], 100.0f))
ASSERT(test_eq(v3[1], 200.0f))
ASSERT(test_eq(v3[2], 10.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_mix) {
vec3 v1 = {-100.0f, -200.0f, -10.0f};
vec3 v2 = {100.0f, 200.0f, 10.0f};
vec3 v3;
GLM(vec3_mix)(v1, v2, 0.5f, v3);
ASSERT(test_eq(v3[0], 0.0f))
ASSERT(test_eq(v3[1], 0.0f))
ASSERT(test_eq(v3[2], 0.0f))
GLM(vec3_mix)(v1, v2, 0.75f, v3);
ASSERT(test_eq(v3[0], 50.0f))
ASSERT(test_eq(v3[1], 100.0f))
ASSERT(test_eq(v3[2], 5.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_mixc) {
vec3 v1 = {-100.0f, -200.0f, -10.0f};
vec3 v2 = {100.0f, 200.0f, 10.0f};
vec3 v3;
GLM(vec3_mixc)(v1, v2, 0.5f, v3);
ASSERT(test_eq(v3[0], 0.0f))
ASSERT(test_eq(v3[1], 0.0f))
ASSERT(test_eq(v3[2], 0.0f))
GLM(vec3_mixc)(v1, v2, 0.75f, v3);
ASSERT(test_eq(v3[0], 50.0f))
ASSERT(test_eq(v3[1], 100.0f))
ASSERT(test_eq(v3[2], 5.0f))
GLM(vec3_mixc)(v1, v2, -1.75f, v3);
ASSERT(test_eq(v3[0], -100.0f))
ASSERT(test_eq(v3[1], -200.0f))
ASSERT(test_eq(v3[2], -10.0f))
GLM(vec3_mixc)(v1, v2, 1.75f, v3);
ASSERT(test_eq(v3[0], 100.0f))
ASSERT(test_eq(v3[1], 200.0f))
ASSERT(test_eq(v3[2], 10.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_broadcast) {
vec3 v1, v2, v3;
vec3 v5 = {-1.456f, -1.456f, -1.456f};

View File

@@ -193,6 +193,10 @@ TEST_DECLARE(glm_vec3_distance2)
TEST_DECLARE(glm_vec3_distance)
TEST_DECLARE(glm_vec3_maxv)
TEST_DECLARE(glm_vec3_minv)
TEST_DECLARE(glm_vec3_ortho)
TEST_DECLARE(glm_vec3_clamp)
TEST_DECLARE(glm_vec3_mix)
TEST_DECLARE(glm_vec3_mixc)
TEST_DECLARE(glm_vec3_broadcast)
TEST_DECLARE(glm_vec3_fill)
@@ -252,6 +256,10 @@ TEST_DECLARE(glmc_vec3_distance2)
TEST_DECLARE(glmc_vec3_distance)
TEST_DECLARE(glmc_vec3_maxv)
TEST_DECLARE(glmc_vec3_minv)
TEST_DECLARE(glmc_vec3_ortho)
TEST_DECLARE(glmc_vec3_clamp)
TEST_DECLARE(glmc_vec3_mix)
TEST_DECLARE(glmc_vec3_mixc)
TEST_DECLARE(glmc_vec3_broadcast)
TEST_DECLARE(glmc_vec3_fill)
@@ -457,6 +465,10 @@ TEST_LIST {
TEST_ENTRY(glmc_vec3_distance)
TEST_ENTRY(glm_vec3_maxv)
TEST_ENTRY(glm_vec3_minv)
TEST_ENTRY(glm_vec3_ortho)
TEST_ENTRY(glm_vec3_clamp)
TEST_ENTRY(glm_vec3_mix)
TEST_ENTRY(glm_vec3_mixc)
TEST_ENTRY(glm_vec3_broadcast)
TEST_ENTRY(glm_vec3_fill)
@@ -516,6 +528,10 @@ TEST_LIST {
TEST_ENTRY(glmc_vec3_distance)
TEST_ENTRY(glmc_vec3_maxv)
TEST_ENTRY(glmc_vec3_minv)
TEST_ENTRY(glmc_vec3_ortho)
TEST_ENTRY(glmc_vec3_clamp)
TEST_ENTRY(glmc_vec3_mix)
TEST_ENTRY(glmc_vec3_mixc)
TEST_ENTRY(glmc_vec3_broadcast)
TEST_ENTRY(glmc_vec3_fill)