Add a test for struct type initializers

To make sure that they all work properly and none of them trigger
warnings.
This commit is contained in:
Carsten Hartenfels
2019-11-24 13:37:52 -05:00
parent 8ad273475f
commit b9aa14d25e
3 changed files with 98 additions and 1 deletions

View File

@@ -151,7 +151,8 @@ test_tests_SOURCES=\
test/src/test_vec3.c \
test/src/test_mat3.c \
test/src/test_affine.c \
test/src/test_bezier.c
test/src/test_bezier.c \
test/src/test_struct.c
pkgconfig_DATA=cglm.pc

71
test/src/test_struct.c Normal file
View File

@@ -0,0 +1,71 @@
#include "test_common.h"
TEST_IMPL(mat3s_identity_init) {
mat3s mat3_identity = GLMS_MAT3_IDENTITY_INIT;
mat3 mat3_identity_a = GLM_MAT3_IDENTITY_INIT;
test_assert_mat3_eq(mat3_identity.raw, mat3_identity_a);
TEST_SUCCESS
}
TEST_IMPL(mat3s_zero_init) {
mat3s mat3_zero = GLMS_MAT3_ZERO_INIT;
mat3 mat3_zero_a = GLM_MAT3_ZERO_INIT;
test_assert_mat3_eq(mat3_zero.raw, mat3_zero_a);
TEST_SUCCESS
}
TEST_IMPL(mat4s_identity_init) {
mat4s mat4_identity = GLMS_MAT4_IDENTITY_INIT;
mat4 mat4_identity_a = GLM_MAT4_IDENTITY_INIT;
test_assert_mat4_eq(mat4_identity.raw, mat4_identity_a);
TEST_SUCCESS
}
TEST_IMPL(mat4s_zero_init) {
mat4s mat4_zero = GLMS_MAT4_ZERO_INIT;
mat4 mat4_zero_a = GLM_MAT4_ZERO_INIT;
test_assert_mat4_eq(mat4_zero.raw, mat4_zero_a);
TEST_SUCCESS
}
TEST_IMPL(quats_zero_init) {
versors quat_zero = GLMS_QUAT_IDENTITY_INIT;
versor quat_zero_a = GLM_QUAT_IDENTITY_INIT;
test_assert_quat_eq(quat_zero.raw, quat_zero_a);
TEST_SUCCESS
}
TEST_IMPL(vec3s_one_init) {
vec3s vec3_one = GLMS_VEC3_ONE_INIT;
vec3 vec3_one_a = GLM_VEC3_ONE_INIT;
test_assert_vec3_eq(vec3_one.raw, vec3_one_a);
TEST_SUCCESS
}
TEST_IMPL(vec3s_zero_init) {
vec3s vec3_zero = GLMS_VEC3_ZERO_INIT;
vec3 vec3_zero_a = GLM_VEC3_ZERO_INIT;
test_assert_vec3_eq(vec3_zero.raw, vec3_zero_a);
TEST_SUCCESS
}
TEST_IMPL(vec4s_black_init) {
vec4s vec4_black = GLMS_VEC4_BLACK_INIT;
vec4 vec4_black_a = GLM_VEC4_BLACK_INIT;
test_assert_vec4_eq(vec4_black.raw, vec4_black_a);
TEST_SUCCESS
}
TEST_IMPL(vec4s_one_init) {
vec4s vec4_one = GLMS_VEC4_ONE_INIT;
vec4 vec4_one_a = GLM_VEC4_ONE_INIT;
test_assert_vec4_eq(vec4_one.raw, vec4_one_a);
TEST_SUCCESS
}
TEST_IMPL(vec4s_zero_init) {
vec4s vec4_zero = GLMS_VEC4_ZERO_INIT;
vec4 vec4_zero_a = GLM_VEC4_ZERO_INIT;
test_assert_vec4_eq(vec4_zero.raw, vec4_zero_a);
TEST_SUCCESS
}

View File

@@ -504,6 +504,19 @@ TEST_DECLARE(glmc_vec4_fract)
TEST_DECLARE(glmc_vec4_hadd)
TEST_DECLARE(glmc_vec4_sqrt)
/* structs */
TEST_DECLARE(mat3s_identity_init)
TEST_DECLARE(mat3s_zero_init)
TEST_DECLARE(mat4s_identity_init)
TEST_DECLARE(mat4s_zero_init)
TEST_DECLARE(quats_zero_init)
TEST_DECLARE(vec3s_one_init)
TEST_DECLARE(vec3s_zero_init)
TEST_DECLARE(vec4s_black_init)
TEST_DECLARE(vec4s_one_init)
TEST_DECLARE(vec4s_zero_init)
/*****************************************************************************/
TEST_LIST {
@@ -996,6 +1009,18 @@ TEST_LIST {
TEST_ENTRY(glmc_vec4_fract)
TEST_ENTRY(glmc_vec4_hadd)
TEST_ENTRY(glmc_vec4_sqrt)
/* structs */
TEST_ENTRY(mat3s_identity_init)
TEST_ENTRY(mat3s_zero_init)
TEST_ENTRY(mat4s_identity_init)
TEST_ENTRY(mat4s_zero_init)
TEST_ENTRY(quats_zero_init)
TEST_ENTRY(vec3s_one_init)
TEST_ENTRY(vec3s_zero_init)
TEST_ENTRY(vec4s_black_init)
TEST_ENTRY(vec4s_one_init)
TEST_ENTRY(vec4s_zero_init)
};
#endif /* tests_h */