mirror of
https://github.com/recp/cglm.git
synced 2025-12-24 20:34:58 +00:00
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:
@@ -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
71
test/src/test_struct.c
Normal 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
|
||||
}
|
||||
25
test/tests.h
25
test/tests.h
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user