summaryrefslogtreecommitdiffstats
path: root/tests/servers/test_navigation_server_3d.h
diff options
context:
space:
mode:
authorPer Melin <git@melin.net>2024-06-06 23:20:05 +0200
committerPer Melin <git@melin.net>2024-06-07 14:24:39 +0200
commit9b191f669c40d82bfeb4182a088b92cc94213dc0 (patch)
tree95201db90c8471185f9a016a828c215b29cc750f /tests/servers/test_navigation_server_3d.h
parente96ad5af98547df71b50c4c4695ac348638113e0 (diff)
downloadredot-engine-9b191f669c40d82bfeb4182a088b92cc94213dc0.tar.gz
Fix NavigationServer3D.get_closest_point_to_segment() with use_collision
Diffstat (limited to 'tests/servers/test_navigation_server_3d.h')
-rw-r--r--tests/servers/test_navigation_server_3d.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/servers/test_navigation_server_3d.h b/tests/servers/test_navigation_server_3d.h
index 8778ea86a6..cf6b89c330 100644
--- a/tests/servers/test_navigation_server_3d.h
+++ b/tests/servers/test_navigation_server_3d.h
@@ -697,12 +697,16 @@ TEST_SUITE("[Navigation]") {
CHECK_NE(navigation_server->map_get_closest_point(map, Vector3(0, 0, 0)), Vector3(0, 0, 0));
CHECK_NE(navigation_server->map_get_closest_point_normal(map, Vector3(0, 0, 0)), Vector3());
CHECK(navigation_server->map_get_closest_point_owner(map, Vector3(0, 0, 0)).is_valid());
- // TODO: Test map_get_closest_point_to_segment() with p_use_collision=true as well.
CHECK_NE(navigation_server->map_get_closest_point_to_segment(map, Vector3(0, 0, 0), Vector3(1, 1, 1), false), Vector3());
+ CHECK_NE(navigation_server->map_get_closest_point_to_segment(map, Vector3(0, 0, 0), Vector3(1, 1, 1), true), Vector3());
CHECK_NE(navigation_server->map_get_path(map, Vector3(0, 0, 0), Vector3(10, 0, 10), true).size(), 0);
CHECK_NE(navigation_server->map_get_path(map, Vector3(0, 0, 0), Vector3(10, 0, 10), false).size(), 0);
}
+ SUBCASE("'map_get_closest_point_to_segment' with 'use_collision' should return default if segment doesn't intersect map") {
+ CHECK_EQ(navigation_server->map_get_closest_point_to_segment(map, Vector3(1, 2, 1), Vector3(1, 1, 1), true), Vector3());
+ }
+
SUBCASE("Elaborate query with 'CORRIDORFUNNEL' post-processing should yield non-empty result") {
Ref<NavigationPathQueryParameters3D> query_parameters = memnew(NavigationPathQueryParameters3D);
query_parameters->set_map(map);