Skip to content

Commit a80d249

Browse files
NorahXiongyoutalk
andauthored
test(autoware_motion_utils): add tests for missed lines (#275)
Signed-off-by: NorahXiong <norah.xiong@autocore.ai> Co-authored-by: Yutaka Kondo <yutaka.kondo@youtalk.jp>
1 parent b6ea548 commit a80d249

File tree

2 files changed

+52
-14
lines changed

2 files changed

+52
-14
lines changed

common/autoware_motion_utils/test/src/distance/test_distance.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,36 @@ TEST(distance, calcDecelDistWithJerkAndAccConstraints)
111111
current_vel, target_vel, current_acc, acc_min, jerk_acc, jerk_dec);
112112
EXPECT_NEAR(expected_dist, *dist, epsilon);
113113
}
114+
115+
// need to decelerate
116+
{
117+
constexpr double current_vel = 10.0;
118+
constexpr double target_vel = 0.5;
119+
constexpr double current_acc = -2.0;
120+
constexpr double acc_min = -3.0;
121+
constexpr double jerk_acc = 1.0;
122+
constexpr double jerk_dec = -0.5;
123+
124+
constexpr double expected_dist = 21.3333;
125+
const auto dist = calcDecelDistWithJerkAndAccConstraints(
126+
current_vel, target_vel, current_acc, acc_min, jerk_acc, jerk_dec);
127+
EXPECT_NEAR(expected_dist, *dist, epsilon);
128+
}
129+
130+
// no need to decelerate
131+
{
132+
constexpr double current_vel = 16.7;
133+
constexpr double target_vel = 16.7;
134+
constexpr double current_acc = 0.0;
135+
constexpr double acc_min = -0.5;
136+
constexpr double jerk_acc = 1.0;
137+
constexpr double jerk_dec = -0.5;
138+
139+
constexpr double expected_dist = 0.0;
140+
const auto dist = calcDecelDistWithJerkAndAccConstraints(
141+
current_vel, target_vel, current_acc, acc_min, jerk_acc, jerk_dec);
142+
EXPECT_NEAR(expected_dist, *dist, epsilon);
143+
}
114144
}
115145

116146
} // namespace

common/autoware_motion_utils/test/src/marker/test_virtual_wall_marker_creator.cpp

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "gtest/gtest.h"
1717

1818
#include <string>
19+
#include <vector>
1920

2021
namespace
2122
{
@@ -67,32 +68,37 @@ TEST(VirtualWallMarkerCreator, oneWall)
6768
TEST(VirtualWallMarkerCreator, manyWalls)
6869
{
6970
autoware::motion_utils::VirtualWall wall;
71+
std::vector<autoware::motion_utils::VirtualWall> walls;
7072
autoware::motion_utils::VirtualWallMarkerCreator creator;
7173
wall.style = autoware::motion_utils::VirtualWallType::stop;
7274
wall.ns = "ns1_";
73-
creator.add_virtual_wall(wall);
74-
creator.add_virtual_wall(wall);
75-
creator.add_virtual_wall(wall);
75+
walls.push_back(wall);
76+
walls.push_back(wall);
77+
walls.push_back(wall);
7678
wall.ns = "ns2_";
77-
creator.add_virtual_wall(wall);
79+
walls.push_back(wall);
7880
wall.style = autoware::motion_utils::VirtualWallType::slowdown;
7981
wall.ns = "ns2_";
80-
creator.add_virtual_wall(wall);
81-
creator.add_virtual_wall(wall);
82+
walls.push_back(wall);
83+
walls.push_back(wall);
8284
wall.ns = "ns3_";
83-
creator.add_virtual_wall(wall);
84-
creator.add_virtual_wall(wall);
85-
creator.add_virtual_wall(wall);
85+
walls.push_back(wall);
86+
walls.push_back(wall);
87+
walls.push_back(wall);
8688
wall.style = autoware::motion_utils::VirtualWallType::deadline;
8789
wall.ns = "ns1_";
88-
creator.add_virtual_wall(wall);
90+
walls.push_back(wall);
8991
wall.ns = "ns2_";
90-
creator.add_virtual_wall(wall);
92+
walls.push_back(wall);
9193
wall.ns = "ns3_";
92-
creator.add_virtual_wall(wall);
94+
walls.push_back(wall);
95+
wall.style = autoware::motion_utils::VirtualWallType::pass;
96+
wall.ns = "ns1_";
97+
walls.push_back(wall);
98+
creator.add_virtual_walls(walls);
9399

94100
auto markers = creator.create_markers();
95-
ASSERT_EQ(markers.markers.size(), 12UL * 2);
101+
ASSERT_EQ(markers.markers.size(), 13UL * 2);
96102
EXPECT_TRUE(has_ns_id(markers, std::string("ns1_stop") + wall_ns_suffix, 0, 2));
97103
EXPECT_TRUE(has_ns_id(markers, std::string("ns1_stop") + text_ns_suffix, 0, 2));
98104
EXPECT_TRUE(has_ns_id(markers, std::string("ns2_stop") + wall_ns_suffix, 0));
@@ -107,8 +113,10 @@ TEST(VirtualWallMarkerCreator, manyWalls)
107113
EXPECT_TRUE(has_ns_id(markers, std::string("ns2_dead_line") + text_ns_suffix, 0));
108114
EXPECT_TRUE(has_ns_id(markers, std::string("ns3_dead_line") + wall_ns_suffix, 0));
109115
EXPECT_TRUE(has_ns_id(markers, std::string("ns3_dead_line") + text_ns_suffix, 0));
116+
EXPECT_TRUE(has_ns_id(markers, std::string("ns1_intended_pass") + "_direction", 0));
117+
EXPECT_TRUE(has_ns_id(markers, std::string("ns1_intended_pass") + text_ns_suffix, 0));
110118
markers = creator.create_markers();
111-
ASSERT_EQ(markers.markers.size(), 12UL * 2);
119+
ASSERT_EQ(markers.markers.size(), 13UL * 2);
112120
for (const auto & marker : markers.markers)
113121
EXPECT_EQ(marker.action, visualization_msgs::msg::Marker::DELETE);
114122
markers = creator.create_markers();

0 commit comments

Comments
 (0)