@@ -22,6 +22,11 @@ class laserSegmentationFixture : public laserSegmentation
22
22
laserSegmentationFixture ()
23
23
: laserSegmentation() {}
24
24
25
+ void scan_callback (const sensor_msgs::msg::LaserScan::SharedPtr msg)
26
+ {
27
+ laserSegmentation::scan_callback (msg);
28
+ }
29
+
25
30
std::vector<slg::Segment2D> filter_segments (const std::vector<slg::Segment2D> & segments)
26
31
{
27
32
return laserSegmentation::filter_segments (segments);
@@ -52,6 +57,9 @@ TEST(LaserSegmentationTest, configure) {
52
57
node, " segmentation_type" , rclcpp::ParameterValue (" jump_distance" ));
53
58
node->configure ();
54
59
node->activate ();
60
+ // Call an empty callback
61
+ auto msg = std::make_shared<sensor_msgs::msg::LaserScan>();
62
+ node->scan_callback (msg);
55
63
node->deactivate ();
56
64
node->cleanup ();
57
65
@@ -203,9 +211,9 @@ TEST(LaserSegmentationTest, filterSegments) {
203
211
204
212
// Set the parameters
205
213
nav2_util::declare_parameter_if_not_declared (
206
- node, " min_points_segment" , rclcpp::ParameterValue (1 ));
214
+ node, " min_points_segment" , rclcpp::ParameterValue (2 ));
207
215
nav2_util::declare_parameter_if_not_declared (
208
- node, " max_points_segment" , rclcpp::ParameterValue (2 ));
216
+ node, " max_points_segment" , rclcpp::ParameterValue (4 ));
209
217
nav2_util::declare_parameter_if_not_declared (
210
218
node, " min_avg_distance_from_sensor" , rclcpp::ParameterValue (0.1 ));
211
219
nav2_util::declare_parameter_if_not_declared (
@@ -220,19 +228,24 @@ TEST(LaserSegmentationTest, filterSegments) {
220
228
node, " noise_reduction" , rclcpp::ParameterValue (0.1 ));
221
229
node->configure ();
222
230
223
- // Set a segment list with 0 segments
231
+ // Set a segment list with 1 segments
224
232
std::vector<slg::Segment2D> segment_list;
233
+ slg::Segment2D segment;
234
+ segment.add_point (slg::Point2D (0.0 , 0.0 , slg::BACKGROUND));
235
+ segment_list.push_back (segment);
236
+ // Filter the segments
225
237
auto filtered_segments = node->filter_segments (segment_list);
226
238
// Check the filtered segments
227
239
EXPECT_EQ (filtered_segments.size (), 0 );
228
240
229
- // Set a segment list with 3 segments of 1 point
241
+ // Set a segment list with 4 segments of 1 point
230
242
segment_list.clear ();
231
- slg::Segment2D segment;
243
+ segment. clear () ;
232
244
segment.add_point (slg::Point2D (0.0 , 0.0 , slg::BACKGROUND));
233
245
segment_list.push_back (segment);
234
246
segment_list.push_back (segment);
235
247
segment_list.push_back (segment);
248
+ segment_list.push_back (segment);
236
249
// Filter the segments
237
250
filtered_segments = node->filter_segments (segment_list);
238
251
// Check the filtered segments
0 commit comments