From b2e40829a84794dbc1432a23c75b7fde13441bef Mon Sep 17 00:00:00 2001 From: smix8 <52464204+smix8@users.noreply.github.com> Date: Tue, 26 Nov 2024 23:35:28 +0100 Subject: [PATCH] Add test for NavigationServer path simplification Adds test for NavigationServer3D.simplify_path() function. --- tests/servers/test_navigation_server_3d.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/servers/test_navigation_server_3d.h b/tests/servers/test_navigation_server_3d.h index 1b2a5e0db29..46a57168207 100644 --- a/tests/servers/test_navigation_server_3d.h +++ b/tests/servers/test_navigation_server_3d.h @@ -816,6 +816,21 @@ TEST_SUITE("[Navigation]") { } */ + TEST_CASE("[NavigationServer3D] Server should simplify path properly") { + real_t simplify_epsilon = 0.2; + Vector source_path; + source_path.resize(7); + source_path.write[0] = Vector3(0.0, 0.0, 0.0); + source_path.write[1] = Vector3(0.0, 0.0, 1.0); // This point needs to go. + source_path.write[2] = Vector3(0.0, 0.0, 2.0); // This point needs to go. + source_path.write[3] = Vector3(0.0, 0.0, 2.0); + source_path.write[4] = Vector3(2.0, 1.0, 3.0); + source_path.write[5] = Vector3(2.0, 1.5, 4.0); // This point needs to go. + source_path.write[6] = Vector3(2.0, 2.0, 5.0); + Vector simplified_path = NavigationServer3D::get_singleton()->simplify_path(source_path, simplify_epsilon); + CHECK_EQ(simplified_path.size(), 4); + } + TEST_CASE("[Heap] size") { gd::Heap heap;