15
15
#include < gtest/gtest.h>
16
16
17
17
// Assuming the parseRouteFile function is in 'RouteHandler.h'
18
+ #include " ament_index_cpp/get_package_share_directory.hpp"
18
19
#include " route_parser.hpp"
19
20
20
21
namespace route_handler ::test
@@ -50,18 +51,6 @@ const std::string g_complete_yaml = R"(
50
51
primitive_type: lane
51
52
- id: 33
52
53
primitive_type: lane
53
- - preferred_primitive:
54
- id: 44
55
- primitive_type: ''
56
- primitives:
57
- - id: 55
58
- primitive_type: lane
59
- - id: 66
60
- primitive_type: lane
61
- - id: 77
62
- primitive_type: lane
63
- - id: 88
64
- primitive_type: lane
65
54
)" ;
66
55
67
56
TEST (ParseFunctions, CompleteYAMLTest)
@@ -91,7 +80,7 @@ TEST(ParseFunctions, CompleteYAMLTest)
91
80
92
81
// Test parsing of segments
93
82
std::vector<LaneletSegment> segments = parse_segments (config[" segments" ]);
94
- ASSERT_EQ (segments.size (), 2 ); // Assuming only one segment in the provided YAML for this test
83
+ ASSERT_EQ (segments.size (), 1 ); // Assuming only one segment in the provided YAML for this test
95
84
96
85
const auto & segment0 = segments[0 ];
97
86
EXPECT_EQ (segment0.preferred_primitive .id , 11 );
@@ -100,20 +89,45 @@ TEST(ParseFunctions, CompleteYAMLTest)
100
89
EXPECT_EQ (segment0.primitives [0 ].primitive_type , " lane" );
101
90
EXPECT_EQ (segment0.primitives [1 ].id , 33 );
102
91
EXPECT_EQ (segment0.primitives [1 ].primitive_type , " lane" );
103
-
104
- const auto & segment1 = segments[1 ];
105
- EXPECT_EQ (segment1.preferred_primitive .id , 44 );
106
- EXPECT_EQ (segment1.primitives .size (), 4 );
107
- EXPECT_EQ (segment1.primitives [0 ].id , 55 );
108
- EXPECT_EQ (segment1.primitives [0 ].primitive_type , " lane" );
109
- EXPECT_EQ (segment1.primitives [1 ].id , 66 );
110
- EXPECT_EQ (segment1.primitives [1 ].primitive_type , " lane" );
111
- EXPECT_EQ (segment1.primitives [2 ].id , 77 );
112
- EXPECT_EQ (segment1.primitives [2 ].primitive_type , " lane" );
113
- EXPECT_EQ (segment1.primitives [3 ].id , 88 );
114
- EXPECT_EQ (segment1.primitives [3 ].primitive_type , " lane" );
115
92
}
116
93
94
+ TEST (ParseFunction, CompleteFromFilename){
95
+ const auto planning_test_utils_dir =
96
+ ament_index_cpp::get_package_share_directory (" route_handler" );
97
+ const auto parser_test_route = planning_test_utils_dir + " /test_route/parser_test.route" ;
98
+
99
+
100
+ const auto lanelet_route = parse_route_file (parser_test_route);
101
+ EXPECT_DOUBLE_EQ (lanelet_route.start_pose .position .x , 1.0 );
102
+ EXPECT_DOUBLE_EQ (lanelet_route.start_pose .position .y , 2.0 );
103
+ EXPECT_DOUBLE_EQ (lanelet_route.start_pose .position .z , 3.0 );
104
+
105
+ EXPECT_DOUBLE_EQ (lanelet_route.start_pose .orientation .x , 0.1 );
106
+ EXPECT_DOUBLE_EQ (lanelet_route.start_pose .orientation .y , 0.2 );
107
+ EXPECT_DOUBLE_EQ (lanelet_route.start_pose .orientation .z , 0.3 );
108
+ EXPECT_DOUBLE_EQ (lanelet_route.start_pose .orientation .w , 0.4 );
109
+
110
+ EXPECT_DOUBLE_EQ (lanelet_route.goal_pose .position .x , 4.0 );
111
+ EXPECT_DOUBLE_EQ (lanelet_route.goal_pose .position .y , 5.0 );
112
+ EXPECT_DOUBLE_EQ (lanelet_route.goal_pose .position .z , 6.0 );
113
+ EXPECT_DOUBLE_EQ (lanelet_route.goal_pose .orientation .x , 0.5 );
114
+ EXPECT_DOUBLE_EQ (lanelet_route.goal_pose .orientation .y , 0.6 );
115
+ EXPECT_DOUBLE_EQ (lanelet_route.goal_pose .orientation .z , 0.7 );
116
+ EXPECT_DOUBLE_EQ (lanelet_route.goal_pose .orientation .w , 0.8 );
117
+
118
+ ASSERT_EQ (lanelet_route.segments .size (), 2 ); // Assuming only one segment in the provided YAML for this test
119
+ const auto & segment1 = lanelet_route.segments [1 ];
120
+ EXPECT_EQ (segment1.preferred_primitive .id , 44 );
121
+ EXPECT_EQ (segment1.primitives .size (), 4 );
122
+ EXPECT_EQ (segment1.primitives [0 ].id , 55 );
123
+ EXPECT_EQ (segment1.primitives [0 ].primitive_type , " lane" );
124
+ EXPECT_EQ (segment1.primitives [1 ].id , 66 );
125
+ EXPECT_EQ (segment1.primitives [1 ].primitive_type , " lane" );
126
+ EXPECT_EQ (segment1.primitives [2 ].id , 77 );
127
+ EXPECT_EQ (segment1.primitives [2 ].primitive_type , " lane" );
128
+ EXPECT_EQ (segment1.primitives [3 ].id , 88 );
129
+ EXPECT_EQ (segment1.primitives [3 ].primitive_type , " lane" );
130
+ }
117
131
int main (int argc, char ** argv)
118
132
{
119
133
::testing::InitGoogleTest (&argc, argv);
0 commit comments