From 75e61606e82df26a4fe405b0a5c093fe4d4e54cc Mon Sep 17 00:00:00 2001 From: Vladyslav Hrytsenko Date: Sat, 30 Jul 2022 17:51:50 +0300 Subject: [PATCH] test: added test case for 0 radius entity check --- code/tests/cases/query.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/code/tests/cases/query.h b/code/tests/cases/query.h index d8af61b..eb10b71 100644 --- a/code/tests/cases/query.h +++ b/code/tests/cases/query.h @@ -575,4 +575,29 @@ MODULE(query, { librg_world_destroy(world); }); + + IT("should query entities with 0 radius", { + librg_world *world = librg_world_create(); + r = librg_config_chunkamount_set(world, 3, 3, 1); EQUALS(r, LIBRG_OK); + r = librg_config_chunkoffset_set(world, LIBRG_OFFSET_BEG, LIBRG_OFFSET_BEG, LIBRG_OFFSET_BEG); + + r = librg_entity_track(world, 1); EQUALS(r, LIBRG_OK); + r = librg_entity_track(world, 2); EQUALS(r, LIBRG_OK); + r = librg_entity_track(world, 3); EQUALS(r, LIBRG_OK); + + r = librg_entity_chunk_set(world, 1, 1); EQUALS(r, LIBRG_OK); + r = librg_entity_chunk_set(world, 2, 1); EQUALS(r, LIBRG_OK); + r = librg_entity_chunk_set(world, 3, 2); EQUALS(r, LIBRG_OK); + + r = librg_entity_owner_set(world, 2, 1); EQUALS(r, LIBRG_OK); + + int64_t results[16] = {0}; + size_t amt = 16; + librg_world_query(world, 1, 0, results, &amt); + EQUALS(amt, 2); + EQUALS(results[0], 2); // own entity first + EQUALS(results[1], 1); + + librg_world_destroy(world); + }); });