tests: add tests for affine scales

This commit is contained in:
Recep Aslantas
2020-02-21 16:57:09 +03:00
parent a1f7afe055
commit 6b32b5dc35
2 changed files with 102 additions and 0 deletions

View File

@@ -164,18 +164,104 @@ TEST_IMPL(GLM_PREFIX, translate_make) {
}
TEST_IMPL(GLM_PREFIX, scale_to) {
mat4 t1, t2, t3, t4, t5;
mat4 m1, m2;
vec4 v1 = {1.0f, 2.0f, 3.0f, 1.0f}, v2;
glm_mat4_identity(m1);
GLM(scale_to)(m1, (vec3){13.0f, 11.0f, 7.0f}, m2);
glm_mat4_mulv(m2, v1, v2);
ASSERT(test_eq(v2[0], 13.0f))
ASSERT(test_eq(v2[1], 22.0f))
ASSERT(test_eq(v2[2], 21.0f))
ASSERT(test_eq(v2[3], 1.0f))
glm_mat4_identity(m1);
GLM(scale_to)(m1, (vec3){1.0f, -1.0f, -5.0f}, m2);
glm_mat4_mulv(m2, v2, v2);
ASSERT(test_eq(v2[0], 13.0f))
ASSERT(test_eq(v2[1], -22.0f))
ASSERT(test_eq(v2[2], -105.0f))
ASSERT(test_eq(v2[3], 1.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, scale_make) {
mat4 t1, t2, t3, t4, t5;
mat4 m1;
vec4 v1 = {1.0f, 2.0f, 3.0f, 1.0f}, v2;
GLM(scale_make)(m1, (vec3){13.0f, 11.0f, 7.0f});
glm_mat4_mulv(m1, v1, v2);
ASSERT(test_eq(v2[0], 13.0f))
ASSERT(test_eq(v2[1], 22.0f))
ASSERT(test_eq(v2[2], 21.0f))
ASSERT(test_eq(v2[3], 1.0f))
GLM(scale_make)(m1, (vec3){1.0f, -1.0f, -5.0f});
glm_mat4_mulv(m1, v2, v2);
ASSERT(test_eq(v2[0], 13.0f))
ASSERT(test_eq(v2[1], -22.0f))
ASSERT(test_eq(v2[2], -105.0f))
ASSERT(test_eq(v2[3], 1.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, scale) {
mat4 t1, t2, t3, t4, t5;
mat4 m1;
vec4 v1 = {1.0f, 2.0f, 3.0f, 1.0f}, v2;
glm_mat4_identity(m1);
GLM(scale)(m1, (vec3){13.0f, 11.0f, 7.0f});
glm_mat4_mulv(m1, v1, v2);
ASSERT(test_eq(v2[0], 13.0f))
ASSERT(test_eq(v2[1], 22.0f))
ASSERT(test_eq(v2[2], 21.0f))
ASSERT(test_eq(v2[3], 1.0f))
glm_mat4_identity(m1);
GLM(scale)(m1, (vec3){1.0f, -1.0f, -5.0f});
glm_mat4_mulv(m1, v2, v2);
ASSERT(test_eq(v2[0], 13.0f))
ASSERT(test_eq(v2[1], -22.0f))
ASSERT(test_eq(v2[2], -105.0f))
ASSERT(test_eq(v2[3], 1.0f))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, scale_uni) {
mat4 t1, t2, t3, t4, t5;
mat4 m1;
vec4 v1 = {1.0f, 2.0f, 3.0f, 1.0f}, v2;
glm_mat4_identity(m1);
GLM(scale_uni)(m1, 13.0f);
glm_mat4_mulv(m1, v1, v2);
ASSERT(test_eq(v2[0], 13.0f))
ASSERT(test_eq(v2[1], 26.0f))
ASSERT(test_eq(v2[2], 39.0f))
ASSERT(test_eq(v2[3], 1.0f))
glm_mat4_identity(m1);
GLM(scale_uni)(m1, -5.0f);
glm_mat4_mulv(m1, v2, v2);
ASSERT(test_eq(v2[0], -65.0f))
ASSERT(test_eq(v2[1], -130.0f))
ASSERT(test_eq(v2[2], -195.0f))
ASSERT(test_eq(v2[3], 1.0f))
TEST_SUCCESS
}

View File

@@ -23,6 +23,10 @@ TEST_DECLARE(glm_translate_x)
TEST_DECLARE(glm_translate_y)
TEST_DECLARE(glm_translate_z)
TEST_DECLARE(glm_translate_make)
TEST_DECLARE(glm_scale_to)
TEST_DECLARE(glm_scale_make)
TEST_DECLARE(glm_scale)
TEST_DECLARE(glm_scale_uni)
TEST_DECLARE(glmc_translate)
TEST_DECLARE(glmc_translate_to)
@@ -30,6 +34,10 @@ TEST_DECLARE(glmc_translate_x)
TEST_DECLARE(glmc_translate_y)
TEST_DECLARE(glmc_translate_z)
TEST_DECLARE(glmc_translate_make)
TEST_DECLARE(glmc_scale_to)
TEST_DECLARE(glmc_scale_make)
TEST_DECLARE(glmc_scale)
TEST_DECLARE(glmc_scale_uni)
/* mat4 */
TEST_DECLARE(glm_mat4_ucopy)
@@ -558,6 +566,10 @@ TEST_LIST {
TEST_ENTRY(glm_translate_y)
TEST_ENTRY(glm_translate_z)
TEST_ENTRY(glm_translate_make)
TEST_ENTRY(glm_scale_to)
TEST_ENTRY(glm_scale_make)
TEST_ENTRY(glm_scale)
TEST_ENTRY(glm_scale_uni)
TEST_ENTRY(glmc_translate)
TEST_ENTRY(glmc_translate_to)
@@ -565,6 +577,10 @@ TEST_LIST {
TEST_ENTRY(glmc_translate_y)
TEST_ENTRY(glmc_translate_z)
TEST_ENTRY(glmc_translate_make)
TEST_ENTRY(glmc_scale_to)
TEST_ENTRY(glmc_scale_make)
TEST_ENTRY(glmc_scale)
TEST_ENTRY(glmc_scale_uni)
/* mat4 */
TEST_ENTRY(glm_mat4_ucopy)