diff options
Diffstat (limited to 'tests/pke-test-serialization.cpp')
| -rw-r--r-- | tests/pke-test-serialization.cpp | 600 |
1 files changed, 316 insertions, 284 deletions
diff --git a/tests/pke-test-serialization.cpp b/tests/pke-test-serialization.cpp index 73d5a1b..021b659 100644 --- a/tests/pke-test-serialization.cpp +++ b/tests/pke-test-serialization.cpp @@ -2,10 +2,10 @@ #include "./pke-test-serialization.h" #include "asset-manager.hpp" -#include "font.hpp" -#include "game-settings.hpp" #include "camera.hpp" #include "ecs.hpp" +#include "font.hpp" +#include "game-settings.hpp" #include "level.hpp" #include "physics.hpp" #include "pk.h" @@ -16,6 +16,7 @@ #include "serialization.hpp" #include "static-ui.hpp" #include "thread-pool.hpp" +#include "vendor-glm-include.hpp" #include <cstring> #include <sstream> @@ -92,46 +93,42 @@ void pke_test_serialization_teardown() { }; int pke_test_serialization_999() { - int64_t err_index = 0; pke_kve_container kvec{}; pke_kve kve{}; const pk_handle zed_handle = {0,0}; - PKE_TEST_ASSERT(kvec.srlztn_handle == zed_handle, err_index); - - PKE_TEST_ASSERT(kvec.type_code.length == 0, err_index); - PKE_TEST_ASSERT(kvec.type_code.reserved == 0, err_index); - PKE_TEST_ASSERT(kvec.type_code.val == nullptr, err_index); - - PKE_TEST_ASSERT(kvec.bkt == nullptr, err_index); - - // 6 - PKE_TEST_ASSERT(kvec.child_handles.next == 0, err_index); - PKE_TEST_ASSERT(kvec.child_handles.reserved == 0, err_index); - PKE_TEST_ASSERT(kvec.child_handles.stride == sizeof(pk_handle), err_index); - PKE_TEST_ASSERT(kvec.child_handles.alignment == alignof(pk_handle), err_index); - PKE_TEST_ASSERT(kvec.child_handles.bkt == nullptr, err_index); - PKE_TEST_ASSERT(kvec.child_handles.data == nullptr, err_index); - - // 12 - PKE_TEST_ASSERT(kvec.children.next == 0, err_index); - PKE_TEST_ASSERT(kvec.children.reserved == 0, err_index); - PKE_TEST_ASSERT(kvec.children.stride == sizeof(pke_kve_container*), err_index); - PKE_TEST_ASSERT(kvec.children.alignment == alignof(pke_kve_container*), err_index); - PKE_TEST_ASSERT(kvec.children.bkt == nullptr, err_index); - PKE_TEST_ASSERT(kvec.children.data == nullptr, err_index); - - // 18 - PKE_TEST_ASSERT(kvec.arr.next == 0, err_index); - PKE_TEST_ASSERT(kvec.arr.reserved == 0, err_index); - PKE_TEST_ASSERT(kvec.arr.stride == sizeof(pke_kve), err_index); - PKE_TEST_ASSERT(kvec.arr.alignment == alignof(pke_kve), err_index); - PKE_TEST_ASSERT(kvec.arr.bkt == nullptr, err_index); - PKE_TEST_ASSERT(kvec.arr.data == nullptr, err_index); - - // 24 - PKE_TEST_ASSERT(kve.key == nullptr, err_index); - PKE_TEST_ASSERT(kve.val == nullptr, err_index); - PKE_TEST_ASSERT(kve.end == nullptr, err_index); + PK_TEST_ASSERT_EQ_RET(zed_handle.bucketIndex, kvec.srlztn_handle.bucketIndex); + PK_TEST_ASSERT_EQ_RET(zed_handle.itemIndex, kvec.srlztn_handle.itemIndex); + + PK_TEST_ASSERT_EQ_RET(0, kvec.type_code.length); + PK_TEST_ASSERT_EQ_RET(0, kvec.type_code.reserved); + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.type_code.val); + + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.bkt); + + PK_TEST_ASSERT_EQ_RET(0, kvec.child_handles.next); + PK_TEST_ASSERT_EQ_RET(0, kvec.child_handles.reserved); + PK_TEST_ASSERT_EQ_RET(sizeof(pk_handle), kvec.child_handles.stride); + PK_TEST_ASSERT_EQ_RET(alignof(pk_handle), kvec.child_handles.alignment); + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.child_handles.bkt); + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.child_handles.data); + + PK_TEST_ASSERT_EQ_RET(0, kvec.children.next); + PK_TEST_ASSERT_EQ_RET(0, kvec.children.reserved); + PK_TEST_ASSERT_EQ_RET(sizeof(pke_kve_container*), kvec.children.stride); + PK_TEST_ASSERT_EQ_RET(alignof(pke_kve_container*), kvec.children.alignment); + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.children.bkt); + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.children.data); + + PK_TEST_ASSERT_EQ_RET(0, kvec.arr.next); + PK_TEST_ASSERT_EQ_RET(0, kvec.arr.reserved); + PK_TEST_ASSERT_EQ_RET(sizeof(pke_kve), kvec.arr.stride); + PK_TEST_ASSERT_EQ_RET(alignof(pke_kve), kvec.arr.alignment); + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.arr.bkt); + PK_TEST_ASSERT_EQ_RET(nullptr, kvec.arr.data); + + PK_TEST_ASSERT_EQ_RET(nullptr, kve.key); + PK_TEST_ASSERT_EQ_RET(nullptr, kve.val); + PK_TEST_ASSERT_EQ_RET(nullptr, kve.end); return 0; } @@ -145,8 +142,8 @@ Scale:5.000000;4.000000;3.000000 :PKFE:)VOGON"; int pke_test_serialization_001() { + int i; pk_funcinstr_init(); - int64_t err_index = 0, i; srlztn_serialize_helper *h; std::stringstream ss; try { @@ -159,21 +156,19 @@ int pke_test_serialization_001() { pke_serialize_scene_to_stream(ss, h); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 3, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers.next); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[0].arr.next); for (i = 0; i < 3; ++i) { - // 6,9,12 - PKE_TEST_ASSERT(h->kvp_containers[0].arr[i].key != nullptr, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr[i].val != nullptr, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr[i].end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, h->kvp_containers[0].arr[i].key); + PK_TEST_ASSERT_NEQ_RET(nullptr, h->kvp_containers[0].arr[i].val); + PK_TEST_ASSERT_NEQ_RET(nullptr, h->kvp_containers[0].arr[i].end); } std::string s = ss.str(); - // 15 - PKE_TEST_ASSERT(strstr(test_001_str, s.c_str()) != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, strstr(test_001_str, s.c_str())); pke_serialize_teardown(h); @@ -193,16 +188,15 @@ int pke_test_deserialization_101() { pke_deserialize_scene_from_stream(ss, h); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 3, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers.next); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[0].arr.next); for (i = 0; i < 3; ++i) { - // 6,9,12 - PKE_TEST_ASSERT(h->kvp_containers[0].arr[i].key != nullptr, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr[i].val != nullptr, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr[i].end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, h->kvp_containers[0].arr[i].key); + PK_TEST_ASSERT_NEQ_RET(nullptr, h->kvp_containers[0].arr[i].val); + PK_TEST_ASSERT_NEQ_RET(nullptr, h->kvp_containers[0].arr[i].end); } glm::vec3 pos; @@ -210,10 +204,22 @@ int pke_test_deserialization_101() { glm::vec3 scale; pke_deserialize_inst_pos(h, &h->kvp_containers[0], pos, rot, scale); - // 15 - PKE_TEST_ASSERT(pos == glm::vec3(0,1,2), err_index); - PKE_TEST_ASSERT(rot == glm::quat(6,7,8,9), err_index); - PKE_TEST_ASSERT(scale == glm::vec3(5,4,3), err_index); + const glm::vec3 Spos(0,1,2); + const glm::quat Srot(6,7,8,9); + const glm::vec3 Scle(5,4,3); + + PK_TEST_ASSERT_EQ_RET(Spos[0], pos[0]); + PK_TEST_ASSERT_EQ_RET(Spos[1], pos[1]); + PK_TEST_ASSERT_EQ_RET(Spos[2], pos[2]); + + PK_TEST_ASSERT_EQ_RET(Srot[0], rot[0]); + PK_TEST_ASSERT_EQ_RET(Srot[1], rot[1]); + PK_TEST_ASSERT_EQ_RET(Srot[2], rot[2]); + PK_TEST_ASSERT_EQ_RET(Srot[3], rot[3]); + + PK_TEST_ASSERT_EQ_RET(Scle[0], scale[0]); + PK_TEST_ASSERT_EQ_RET(Scle[1], scale[1]); + PK_TEST_ASSERT_EQ_RET(Scle[2], scale[2]); pke_deserialize_teardown(h); @@ -251,7 +257,6 @@ IsPrimary:1 :PKFE:)VOGON"; int pke_test_serialization_002() { - int64_t err_index = 0; uint32_t i, k; srlztn_serialize_helper *h = nullptr; pke_kve *kve = nullptr; @@ -281,35 +286,32 @@ int pke_test_serialization_002() { pke_serialize_scene_to_stream(ss, h); std::string s = ss.str(); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(4, h->kvp_containers.next); // instpos - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 1, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[0].arr.next); // instance - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 4, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(4, h->kvp_containers[1].arr.next); // instpos - PKE_TEST_ASSERT(h->kvp_containers[2].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[2].arr.next == 3, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[2].child_handles.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[2].arr.next); // camera - PKE_TEST_ASSERT(h->kvp_containers[3].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[3].arr.next == 5, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[3].child_handles.next); + PK_TEST_ASSERT_EQ_RET(5, h->kvp_containers[3].arr.next); - // 12 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 12 + (3 * (1 + 4 + 3 + 5)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end); } } - // 51 - PKE_TEST_ASSERT(strstr(test_002_str, s.c_str()) != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, strstr(test_002_str, s.c_str())); pke_serialize_teardown(h); @@ -320,7 +322,6 @@ int pke_test_serialization_002() { } int pke_test_deserialization_102() { - int64_t err_index = 0; uint32_t i, k; pke_kve *kve; srlztn_deserialize_helper *h; @@ -330,26 +331,24 @@ int pke_test_deserialization_102() { pke_deserialize_scene_from_stream(ss, h); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[2].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[3].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 4, err_index); - PKE_TEST_ASSERT(h->kvp_containers[2].arr.next == 3, err_index); - PKE_TEST_ASSERT(h->kvp_containers[3].arr.next == 5, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(4, h->kvp_containers.next); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[2].child_handles.next); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[3].child_handles.next); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[0].arr.next); + PK_TEST_ASSERT_EQ_RET(4, h->kvp_containers[1].arr.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[2].arr.next); + PK_TEST_ASSERT_EQ_RET(5, h->kvp_containers[3].arr.next); - // 12 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 12 + (3 * (1 + 4 + 3 + 5)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key ); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val ); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end ); } } @@ -357,28 +356,53 @@ int pke_test_deserialization_102() { glm::quat rot = glm::quat(1,0,0,0); glm::vec3 scale = glm::vec3(1,1,1); + glm::vec3 Spos = glm::vec3(0,0,0); + glm::quat Srot = glm::quat(1,0,0,0); + glm::vec3 Sscl = glm::vec3(1,1,1); + pke_deserialize_inst_pos(h, &h->kvp_containers[0], pos, rot, scale); - // 51 - PKE_TEST_ASSERT(pos == glm::vec3(0,0,0), err_index); - PKE_TEST_ASSERT(rot == glm::quat(1,0,0,0), err_index); - PKE_TEST_ASSERT(scale == glm::vec3(1,1,1), err_index); + + PK_TEST_ASSERT_EQ_RET(Spos[0], pos[0]); + PK_TEST_ASSERT_EQ_RET(Spos[1], pos[1]); + PK_TEST_ASSERT_EQ_RET(Spos[2], pos[2]); + + PK_TEST_ASSERT_EQ_RET(Srot[0], rot[0]); + PK_TEST_ASSERT_EQ_RET(Srot[1], rot[1]); + PK_TEST_ASSERT_EQ_RET(Srot[2], rot[2]); + PK_TEST_ASSERT_EQ_RET(Srot[3], rot[3]); + + PK_TEST_ASSERT_EQ_RET(Sscl[0], scale[0]); + PK_TEST_ASSERT_EQ_RET(Sscl[1], scale[1]); + PK_TEST_ASSERT_EQ_RET(Sscl[2], scale[2]); pke_deserialize_inst_pos(h, &h->kvp_containers[2], pos, rot, scale); - // 54 - PKE_TEST_ASSERT(pos == glm::vec3(0,-10,-10), err_index); - PKE_TEST_ASSERT(rot == glm::quat(1,0,0,0), err_index); - PKE_TEST_ASSERT(scale == glm::vec3(5,4,3), err_index); + + Spos = glm::vec3(0,-10,-10); + Srot = glm::quat(1,0,0,0); + Sscl = glm::vec3(5,4,3); + + PK_TEST_ASSERT_EQ_RET(Spos[0], pos[0]); + PK_TEST_ASSERT_EQ_RET(Spos[1], pos[1]); + PK_TEST_ASSERT_EQ_RET(Spos[2], pos[2]); + + PK_TEST_ASSERT_EQ_RET(Srot[0], rot[0]); + PK_TEST_ASSERT_EQ_RET(Srot[1], rot[1]); + PK_TEST_ASSERT_EQ_RET(Srot[2], rot[2]); + PK_TEST_ASSERT_EQ_RET(Srot[3], rot[3]); + + PK_TEST_ASSERT_EQ_RET(Sscl[0], scale[0]); + PK_TEST_ASSERT_EQ_RET(Sscl[1], scale[1]); + PK_TEST_ASSERT_EQ_RET(Sscl[2], scale[2]); pke_deserialize_scene(h); PkeCamera *des_cam = PkeCamera_Get(CameraHandle{0,0}); - // 57 - PKE_TEST_ASSERT(des_cam != nullptr, err_index); - PKE_TEST_ASSERT(des_cam->uuid == uuid_n[2], err_index); - PKE_TEST_ASSERT(des_cam->type == PKE_CAMERA_TYPE_PERSPECTIVE, err_index); - PKE_TEST_ASSERT(des_cam->view == PKE_CAMERA_VIEW_TARGET, err_index); - PKE_TEST_ASSERT(des_cam->phys.target_inst_uuid == uuid_n[1], err_index); - PKE_TEST_ASSERT(des_cam->isPrimary == true, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, des_cam ); + PK_TEST_ASSERT_EQ_RET(uuid_n[2], des_cam->uuid); + PK_TEST_ASSERT_EQ_RET(static_cast<PkeCameraType_T>(PKE_CAMERA_TYPE_PERSPECTIVE), static_cast<PkeCameraType_T>(des_cam->type)); + PK_TEST_ASSERT_EQ_RET(static_cast<PkeCameraType_T>(PKE_CAMERA_VIEW_TARGET), static_cast<PkeCameraType_T>(des_cam->view)); + PK_TEST_ASSERT_EQ_RET(uuid_n[1], des_cam->phys.target_inst_uuid); + PK_TEST_ASSERT_EQ_RET(true, des_cam->isPrimary); pke_deserialize_teardown(h); @@ -424,7 +448,6 @@ Layer:0x00 :PKFE:)VOGON"; int pke_test_serialization_003() { - int64_t err_index = 0; uint32_t i, k; srlztn_serialize_helper *h = nullptr; pke_kve *kve = nullptr; @@ -441,7 +464,7 @@ int pke_test_serialization_003() { frs.surface_area_pos = glm::ivec2(0, 0); frs.surface_area_type_flags = FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_CENTER_BOTH; frs.flags = FONT_RENDER_FLAG_NONE; - FontRenderHandle fr_handle = FontType_AddStringRender(FontType_GetFonts(idx_unused)[0].index_ft, std::move(cstring_to_pk_cstr("asdf")), &frs, nullptr, uuid_n[1]); + FontTypeRender fr_handle = FontType_AddStringRender(FontType_GetFonts(idx_unused)[0].index_ft, std::move(cstring_to_pk_cstr("asdf")), &frs, nullptr, uuid_n[1]); pke_ui_box *ui_box = pke_ui_box_new_root(PKE_UI_BOX_TYPE_TEXT, uuid_n[2]); ui_box->flags |= PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC; @@ -449,41 +472,41 @@ int pke_test_serialization_003() { ui_box->pos_top_left.y = 0.1; ui_box->max_size.x = 0.8; ui_box->max_size.y = 0.8; - ui_box->type_data->text.font_render_handle = fr_handle; + ui_box->type_data->text.font_type_render = fr_handle; pke_serialize_scene(h); pke_serialize_scene_to_stream(ss, h); std::string s = ss.str(); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(4, h->kvp_containers.next); // FontRenderSettings - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 9, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(9, h->kvp_containers[0].arr.next); // FontRender - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[1].arr.next); // ui box type text - PKE_TEST_ASSERT(h->kvp_containers[2].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[2].arr.next == 1, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[2].child_handles.next); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[2].arr.next); // ui box - PKE_TEST_ASSERT(h->kvp_containers[3].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[3].arr.next == 6, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[3].child_handles.next); + PK_TEST_ASSERT_EQ_RET(6, h->kvp_containers[3].arr.next); // 12 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { // 12 + (3 * (8 + 3 + 1 + 6)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end); } } // 66 - PKE_TEST_ASSERT(strstr(test_003_str, s.c_str()) != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, strstr(test_003_str, s.c_str())); pke_serialize_teardown(h); @@ -494,7 +517,6 @@ int pke_test_serialization_003() { } int pke_test_deserialization_103() { - int64_t err_index = 0; uint32_t i, k; pke_kve *kve; srlztn_deserialize_helper *h; @@ -504,30 +526,28 @@ int pke_test_deserialization_103() { pke_deserialize_scene_from_stream(ss, h); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(4, h->kvp_containers.next); // FontRenderSettings - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 9, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(9, h->kvp_containers[0].arr.next); // FontRender - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[1].arr.next); // ui box type text - PKE_TEST_ASSERT(h->kvp_containers[2].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[2].arr.next == 1, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[2].child_handles.next); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[2].arr.next); // ui box - PKE_TEST_ASSERT(h->kvp_containers[3].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[3].arr.next == 6, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[3].child_handles.next); + PK_TEST_ASSERT_EQ_RET(6, h->kvp_containers[3].arr.next); - // 12 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 12 + (3 * (8 + 3 + 1 + 6)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end); } } @@ -535,42 +555,46 @@ int pke_test_deserialization_103() { uint64_t idx_unused; FontType *fonts = FontType_GetFonts(idx_unused); - // 66 - PKE_TEST_ASSERT(fonts != nullptr, err_index); - PKE_TEST_ASSERT(idx_unused != 0xFFFFFFFFFFFFFFFF, err_index); - PKE_TEST_ASSERT(fonts->n_render > FontRenderIndex{0}, err_index); - FontRender *fr = &fonts[0].renders[0]; - - // 69 - PKE_TEST_ASSERT(fr->settings.char_scale == 1.f, err_index); - PKE_TEST_ASSERT(fr->settings.line_height_scale == 1.f, err_index); - PKE_TEST_ASSERT(fr->settings.char_spacing_scale == 1.f, err_index); - PKE_TEST_ASSERT(fr->settings.surface_area_size == glm::ivec2(250,250), err_index); - PKE_TEST_ASSERT(fr->settings.surface_area_pos == glm::ivec2(0,0), err_index); - PKE_TEST_ASSERT(fr->settings.surface_area_type_flags == FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_CENTER_BOTH, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, fonts); + PK_TEST_ASSERT_NEQ_RET(0xFFFFFFFFFFFFFFFF, idx_unused); + // PK_TEST_ASSERT_LTE_RET(0, fonts->renders.head_r.i); // always true, unsigned + FontRender *fr = &fonts[0].renders[{0,0}]; + + PK_TEST_ASSERT_EQ_RET(1.f, fr->settings.char_scale); + PK_TEST_ASSERT_EQ_RET(1.f, fr->settings.line_height_scale); + PK_TEST_ASSERT_EQ_RET(1.f, fr->settings.char_spacing_scale); + PK_TEST_ASSERT_EQ_RET(250, fr->settings.surface_area_size.x); + PK_TEST_ASSERT_EQ_RET(250, fr->settings.surface_area_size.y); + PK_TEST_ASSERT_EQ_RET(0, fr->settings.surface_area_pos.x); + PK_TEST_ASSERT_EQ_RET(0, fr->settings.surface_area_pos.y); + PK_TEST_ASSERT_EQ_RET(static_cast<FONT_RENDER_FLAG_T>(FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_CENTER_BOTH), static_cast<FONT_RENDER_FLAG_T>(fr->settings.surface_area_type_flags)); // auto equal_4 = glm::epsilonEqual(fr->settings.color_foreground, glm::vec4(0.4, 0.9, 0.5, 0.8), epsilon_4); // PKE_TEST_ASSERT(equal_4 == bool_4, err_index); - PKE_TEST_ASSERT(fr->settings.color_foreground == glm::vec4(0.4, 0.9, 0.5, 0.8), err_index); - PKE_TEST_ASSERT(fr->settings.color_background == glm::vec4(0.0, 0.0, 0.0, 0.0), err_index); - - // 77 - PKE_TEST_ASSERT(fr->uuid == uuid_n[1], err_index); - PKE_TEST_ASSERT(fr->text.val != nullptr, err_index); - PKE_TEST_ASSERT(fr->text.val[0] == 'a', err_index); - PKE_TEST_ASSERT(fr->text.val[1] == 's', err_index); - PKE_TEST_ASSERT(fr->text.val[2] == 'd', err_index); - PKE_TEST_ASSERT(fr->text.val[3] == 'f', err_index); - PKE_TEST_ASSERT(fr->text.val[4] == '\0', err_index); - - // 84 + PK_TEST_ASSERT_EQ_RET(0.4f, fr->settings.color_foreground.x); + PK_TEST_ASSERT_EQ_RET(0.9f, fr->settings.color_foreground.y); + PK_TEST_ASSERT_EQ_RET(0.5f, fr->settings.color_foreground.z); + PK_TEST_ASSERT_EQ_RET(0.8f, fr->settings.color_foreground.w); + PK_TEST_ASSERT_EQ_RET(0.0, fr->settings.color_background.x); + PK_TEST_ASSERT_EQ_RET(0.0, fr->settings.color_background.y); + PK_TEST_ASSERT_EQ_RET(0.0, fr->settings.color_background.z); + PK_TEST_ASSERT_EQ_RET(0.0, fr->settings.color_background.w); + + PK_TEST_ASSERT_EQ_RET(uuid_n[1], fr->uuid); + PK_TEST_ASSERT_NEQ_RET(nullptr, fr->text.val); + PK_TEST_ASSERT_EQ_RET('a', fr->text.val[0]); + PK_TEST_ASSERT_EQ_RET('s', fr->text.val[1]); + PK_TEST_ASSERT_EQ_RET('d', fr->text.val[2]); + PK_TEST_ASSERT_EQ_RET('f', fr->text.val[3]); + PK_TEST_ASSERT_EQ_RET('\0', fr->text.val[4]); + pke_ui_box_count_T count; pke_ui_box **boxes = pke_ui_get_root_boxes(&count); pke_ui_box *box = boxes[0]; - PKE_TEST_ASSERT(count == 1, err_index) - PKE_TEST_ASSERT(box->internal.h_children == 0, err_index) - PKE_TEST_ASSERT(box->type == PKE_UI_BOX_TYPE_TEXT, err_index) - PKE_TEST_ASSERT(PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC), err_index) - PKE_TEST_ASSERT(PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_VISIBILITY_INVISIBLE), err_index) + PK_TEST_ASSERT_EQ_RET(1, count) + PK_TEST_ASSERT_EQ_RET(0, box->internal.h_children) + PK_TEST_ASSERT_EQ_RET(static_cast<PKE_UI_BOX_TYPE_T>(PKE_UI_BOX_TYPE_TEXT), static_cast<PKE_UI_BOX_TYPE_T>(box->type)); + PK_TEST_ASSERT_EQ_RET(true, PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC)); + PK_TEST_ASSERT_EQ_RET(true, PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_VISIBILITY_INVISIBLE)); pke_deserialize_teardown(h); @@ -607,7 +631,6 @@ ColorBackground:0.200000;0.300000;0.200000;0.500000 :PKFE:)VOGON"; int pke_test_serialization_004() { - int64_t err_index = 0; uint32_t i, k; srlztn_serialize_helper *h = nullptr; pke_kve *kve = nullptr; @@ -633,29 +656,29 @@ int pke_test_serialization_004() { pke_serialize_scene_to_stream(ss, h); std::string s = ss.str(); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(2, h->kvp_containers.next); // ui box - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(8, h->kvp_containers[0].arr.next); // ui box - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 9, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(9, h->kvp_containers[1].arr.next); // 8 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { // 8 + (3 * (9 + 8)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end); } } // 59 - PKE_TEST_ASSERT(strstr(test_004_str, s.c_str()) != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, strstr(test_004_str, s.c_str())); pke_serialize_teardown(h); @@ -666,7 +689,6 @@ int pke_test_serialization_004() { } int pke_test_deserialization_104() { - int64_t err_index = 0; uint32_t i, k; srlztn_deserialize_helper *h = nullptr; pke_kve *kve = nullptr; @@ -676,24 +698,22 @@ int pke_test_deserialization_104() { pke_deserialize_scene_from_stream(ss, h); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(2, h->kvp_containers.next); // ui box - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(8, h->kvp_containers[0].arr.next); // ui box - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 9, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(9, h->kvp_containers[1].arr.next); - // 8 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 8 + (3 * (9 + 8)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end); } } @@ -701,38 +721,51 @@ int pke_test_deserialization_104() { pke_ui_box_count_T box_count; pke_ui_box **root_boxes = pke_ui_get_root_boxes(&box_count); - // 59 - PKE_TEST_ASSERT(root_boxes != nullptr, err_index); - PKE_TEST_ASSERT(box_count == 1, err_index); - PKE_TEST_ASSERT(root_boxes[0] != nullptr, err_index); - - // 62 - PKE_TEST_ASSERT(root_boxes[0]->uuid == uuid_n[2], err_index); - PKE_TEST_ASSERT(PK_HAS_FLAG(root_boxes[0]->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_STATIC), err_index); - PKE_TEST_ASSERT(root_boxes[0]->pos_top_left == glm::vec2(1.f,1.f), err_index); - PKE_TEST_ASSERT(root_boxes[0]->max_size == glm::vec2(1278.f,718.f), err_index); - PKE_TEST_ASSERT(PK_HAS_FLAG(root_boxes[0]->type, PKE_UI_BOX_TYPE_STANDARD), err_index); - PKE_TEST_ASSERT(root_boxes[0]->layer == 0, err_index); - PKE_TEST_ASSERT(root_boxes[0]->internal.parent == nullptr, err_index); - PKE_TEST_ASSERT(root_boxes[0]->internal.h_children == 1, err_index); - PKE_TEST_ASSERT(root_boxes[0]->internal.children != nullptr, err_index); - PKE_TEST_ASSERT(root_boxes[0]->internal.children[0] != nullptr, err_index); - PKE_TEST_ASSERT(root_boxes[0]->color_border == glm::vec4(1.0,0.0,0.0,1.0), err_index); - PKE_TEST_ASSERT(root_boxes[0]->color_background == glm::vec4(0.2,0.3,0.2,0.5), err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, root_boxes); + PK_TEST_ASSERT_EQ_RET(1, box_count); + PK_TEST_ASSERT_NEQ_RET(nullptr, root_boxes[0]); + + PK_TEST_ASSERT_EQ_RET(uuid_n[2], root_boxes[0]->uuid); + PK_TEST_ASSERT_EQ_RET(true, PK_HAS_FLAG(root_boxes[0]->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_STATIC)); + PK_TEST_ASSERT_EQ_RET(1.f, root_boxes[0]->pos_top_left.x); + PK_TEST_ASSERT_EQ_RET(1.f, root_boxes[0]->pos_top_left.y); + PK_TEST_ASSERT_EQ_RET(1278.f, root_boxes[0]->max_size.x); + PK_TEST_ASSERT_EQ_RET(718.f, root_boxes[0]->max_size.y); + PK_TEST_ASSERT_EQ_RET(true, PK_HAS_FLAG(root_boxes[0]->type, PKE_UI_BOX_TYPE_STANDARD)); + PK_TEST_ASSERT_EQ_RET(0, root_boxes[0]->layer); + PK_TEST_ASSERT_EQ_RET(nullptr, root_boxes[0]->internal.parent); + PK_TEST_ASSERT_EQ_RET(1, root_boxes[0]->internal.h_children); + PK_TEST_ASSERT_NEQ_RET(nullptr, root_boxes[0]->internal.children); + PK_TEST_ASSERT_NEQ_RET(nullptr, root_boxes[0]->internal.children[0]); + PK_TEST_ASSERT_EQ_RET(1.0f, root_boxes[0]->color_border.x); + PK_TEST_ASSERT_EQ_RET(0.0f, root_boxes[0]->color_border.y); + PK_TEST_ASSERT_EQ_RET(0.0f, root_boxes[0]->color_border.z); + PK_TEST_ASSERT_EQ_RET(1.0f, root_boxes[0]->color_border.w); + PK_TEST_ASSERT_EQ_RET(0.2f, root_boxes[0]->color_background.x); + PK_TEST_ASSERT_EQ_RET(0.3f, root_boxes[0]->color_background.y); + PK_TEST_ASSERT_EQ_RET(0.2f, root_boxes[0]->color_background.z); + PK_TEST_ASSERT_EQ_RET(0.5f, root_boxes[0]->color_background.w); pke_ui_box *box_c = root_boxes[0]->internal.children[0]; - // 74 - PKE_TEST_ASSERT(box_c->uuid == uuid_n[1], err_index); - PKE_TEST_ASSERT(PK_HAS_FLAG(box_c->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC), err_index); - PKE_TEST_ASSERT(box_c->pos_top_left == glm::vec2(0.1,0.1), err_index); - PKE_TEST_ASSERT(box_c->max_size == glm::vec2(0.8,0.8), err_index); - PKE_TEST_ASSERT(PK_HAS_FLAG(box_c->type, PKE_UI_BOX_TYPE_STANDARD), err_index); - PKE_TEST_ASSERT(box_c->layer == 0, err_index); - PKE_TEST_ASSERT(box_c->internal.parent == root_boxes[0], err_index); - PKE_TEST_ASSERT(box_c->internal.h_children == 0, err_index); - PKE_TEST_ASSERT(box_c->internal.children == nullptr, err_index); - PKE_TEST_ASSERT(box_c->color_border == glm::vec4(1.0,0.0,0.0,1.0), err_index); - PKE_TEST_ASSERT(box_c->color_background == glm::vec4(0.2,0.3,0.2,0.5), err_index); + PK_TEST_ASSERT_EQ_RET(uuid_n[1], box_c->uuid); + PK_TEST_ASSERT_EQ_RET(true, PK_HAS_FLAG(box_c->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC)); + PK_TEST_ASSERT_EQ_RET(0.1f, box_c->pos_top_left.x); + PK_TEST_ASSERT_EQ_RET(0.1f, box_c->pos_top_left.y); + PK_TEST_ASSERT_EQ_RET(0.8f, box_c->max_size.x); + PK_TEST_ASSERT_EQ_RET(0.8f, box_c->max_size.y); + PK_TEST_ASSERT_EQ_RET(true, PK_HAS_FLAG(box_c->type, PKE_UI_BOX_TYPE_STANDARD)); + PK_TEST_ASSERT_EQ_RET(0, box_c->layer); + PK_TEST_ASSERT_EQ_RET(root_boxes[0], box_c->internal.parent); + PK_TEST_ASSERT_EQ_RET(0, box_c->internal.h_children); + PK_TEST_ASSERT_EQ_RET(nullptr, box_c->internal.children); + PK_TEST_ASSERT_EQ_RET(1.0f, box_c->color_border.x); + PK_TEST_ASSERT_EQ_RET(0.0f, box_c->color_border.y); + PK_TEST_ASSERT_EQ_RET(0.0f, box_c->color_border.z); + PK_TEST_ASSERT_EQ_RET(1.0f, box_c->color_border.w); + PK_TEST_ASSERT_EQ_RET(0.2f, box_c->color_background.x); + PK_TEST_ASSERT_EQ_RET(0.3f, box_c->color_background.y); + PK_TEST_ASSERT_EQ_RET(0.2f, box_c->color_background.z); + PK_TEST_ASSERT_EQ_RET(0.5f, box_c->color_background.w); pke_deserialize_teardown(h); @@ -784,35 +817,32 @@ int pke_test_serialization_005() { frs.surface_area_pos = glm::ivec2(0, 0); frs.surface_area_type_flags = FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_CENTER_BOTH; frs.flags = FONT_RENDER_FLAG_NONE; - FontRenderHandle fr_handle = FontType_AddStringRender(FontType_GetFonts(idx_unused)[0].index_ft, cstring_to_pk_cstr(""), &frs, nullptr, uuid_n[1]); + FontType_AddStringRender(FontType_GetFonts(idx_unused)[0].index_ft, cstring_to_pk_cstr(""), &frs, nullptr, uuid_n[1]); pke_serialize_scene(h); pke_serialize_scene_to_stream(ss, h); std::string s = ss.str(); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(2, h->kvp_containers.next); // FontRenderSettings - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(9, h->kvp_containers[0].arr.next); // FontRender - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[1].arr.next); - // 8 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 8 + (3 * (8 + 3)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end); } } - // 41 - PKE_TEST_ASSERT(strstr(test_005_str, s.c_str()) != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, strstr(test_005_str, s.c_str())); pke_serialize_teardown(h); @@ -823,7 +853,6 @@ int pke_test_serialization_005() { } int pke_test_deserialization_105() { - int64_t err_index = 0; uint32_t i, k; pke_kve *kve; srlztn_deserialize_helper *h; @@ -833,24 +862,22 @@ int pke_test_deserialization_105() { pke_deserialize_scene_from_stream(ss, h); - PKE_TEST_ASSERT(h->bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.bkt == bkt, err_index); - PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index); + PK_TEST_ASSERT_EQ_RET(bkt, h->bkt); + PK_TEST_ASSERT_EQ_RET(bkt, h->kvp_containers.bkt); + PK_TEST_ASSERT_EQ_RET(2, h->kvp_containers.next); // FontRenderSettings - PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); + PK_TEST_ASSERT_EQ_RET(0, h->kvp_containers[0].child_handles.next); + PK_TEST_ASSERT_EQ_RET(9, h->kvp_containers[0].arr.next); // FontRender - PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index); + PK_TEST_ASSERT_EQ_RET(1, h->kvp_containers[1].child_handles.next); + PK_TEST_ASSERT_EQ_RET(3, h->kvp_containers[1].arr.next); - // 8 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 8 + (3 * (8 + 3)) kve = &h->kvp_containers[k].arr[i]; - PKE_TEST_ASSERT(kve->key != nullptr, err_index); - PKE_TEST_ASSERT(kve->val != nullptr, err_index); - PKE_TEST_ASSERT(kve->end != nullptr, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->key); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->val); + PK_TEST_ASSERT_NEQ_RET(nullptr, kve->end); } } @@ -858,28 +885,33 @@ int pke_test_deserialization_105() { uint64_t idx_unused; FontType *fonts = FontType_GetFonts(idx_unused); - // 41 - PKE_TEST_ASSERT(fonts != nullptr, err_index); - PKE_TEST_ASSERT(idx_unused != 0xFFFFFFFFFFFFFFFF, err_index); - PKE_TEST_ASSERT(fonts->n_render > FontRenderIndex{0}, err_index); - FontRender *fr = &fonts[0].renders[0]; - - // 44 - PKE_TEST_ASSERT(fr->settings.char_scale == 1.f, err_index); - PKE_TEST_ASSERT(fr->settings.line_height_scale == 1.f, err_index); - PKE_TEST_ASSERT(fr->settings.char_spacing_scale == 1.f, err_index); - PKE_TEST_ASSERT(fr->settings.surface_area_size == glm::ivec2(250,250), err_index); - PKE_TEST_ASSERT(fr->settings.surface_area_pos == glm::ivec2(0,0), err_index); - PKE_TEST_ASSERT(fr->settings.surface_area_type_flags == FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_CENTER_BOTH, err_index); + PK_TEST_ASSERT_NEQ_RET(nullptr, fonts); + PK_TEST_ASSERT_NEQ_RET(0xFFFFFFFFFFFFFFFF, idx_unused); + // PK_TEST_ASSERT_LTE_RET(fonts->renders.head_r.i > 0u, err_index); // always true, unsigned + FontRender *fr = &fonts[0].renders[{0,0}]; + + PK_TEST_ASSERT_EQ_RET(1.f, fr->settings.char_scale); + PK_TEST_ASSERT_EQ_RET(1.f, fr->settings.line_height_scale); + PK_TEST_ASSERT_EQ_RET(1.f, fr->settings.char_spacing_scale); + PK_TEST_ASSERT_EQ_RET(250, fr->settings.surface_area_size.x); + PK_TEST_ASSERT_EQ_RET(250, fr->settings.surface_area_size.y); + PK_TEST_ASSERT_EQ_RET(0, fr->settings.surface_area_pos.x); + PK_TEST_ASSERT_EQ_RET(0, fr->settings.surface_area_pos.y); + PK_TEST_ASSERT_EQ_RET(static_cast<FONT_RENDER_SURFACE_AREA_TYPE_FLAG_T>(FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_CENTER_BOTH), static_cast<FONT_RENDER_SURFACE_AREA_TYPE_FLAG_T>(fr->settings.surface_area_type_flags)); // auto equal_4 = glm::epsilonEqual(fr->settings.color_foreground, glm::vec4(0.4, 0.9, 0.5, 0.8), epsilon_4); // PKE_TEST_ASSERT(equal_4 == bool_4, err_index); - PKE_TEST_ASSERT(fr->settings.color_foreground == glm::vec4(0.4, 0.9, 0.5, 0.8), err_index); - PKE_TEST_ASSERT(fr->settings.color_background == glm::vec4(0.0, 0.0, 0.0, 0.0), err_index); - - // 52 - PKE_TEST_ASSERT(fr->uuid == uuid_n[1], err_index); - PKE_TEST_ASSERT(fr->text.val != nullptr, err_index); - PKE_TEST_ASSERT(fr->text.val[0] == '\0', err_index); + PK_TEST_ASSERT_EQ_RET(0.4f, fr->settings.color_foreground.x); + PK_TEST_ASSERT_EQ_RET(0.9f, fr->settings.color_foreground.y); + PK_TEST_ASSERT_EQ_RET(0.5f, fr->settings.color_foreground.z); + PK_TEST_ASSERT_EQ_RET(0.8f, fr->settings.color_foreground.w); + PK_TEST_ASSERT_EQ_RET(0.0f, fr->settings.color_background.x); + PK_TEST_ASSERT_EQ_RET(0.0f, fr->settings.color_background.y); + PK_TEST_ASSERT_EQ_RET(0.0f, fr->settings.color_background.z); + PK_TEST_ASSERT_EQ_RET(0.0f, fr->settings.color_background.w); + + PK_TEST_ASSERT_EQ_RET(uuid_n[1], fr->uuid); + PK_TEST_ASSERT_NEQ_RET(nullptr, fr->text.val); + PK_TEST_ASSERT_EQ_RET('\0', fr->text.val[0]); pke_deserialize_teardown(h); |
