16TEST(AddLandmarksTest, SingleLandmark) {
17 Eigen::VectorXd track(0);
18 YAML::Node list = YAML::Load(
"[{position: [1.0, 2.0]}]");
20 ASSERT_EQ(track.size(), 2);
21 EXPECT_DOUBLE_EQ(track[0], 1.0);
22 EXPECT_DOUBLE_EQ(track[1], 2.0);
25TEST(AddLandmarksTest, MultipleLandmarks) {
26 Eigen::VectorXd track(0);
28 YAML::Load(
"[{position: [1.0, 2.0]}, {position: [3.0, 4.0]}, {position: [5.0, 6.0]}]");
30 ASSERT_EQ(track.size(), 6);
31 EXPECT_DOUBLE_EQ(track[0], 1.0);
32 EXPECT_DOUBLE_EQ(track[1], 2.0);
33 EXPECT_DOUBLE_EQ(track[2], 3.0);
34 EXPECT_DOUBLE_EQ(track[3], 4.0);
35 EXPECT_DOUBLE_EQ(track[4], 5.0);
36 EXPECT_DOUBLE_EQ(track[5], 6.0);
39TEST(AddLandmarksTest, AppendsToExistingTrack) {
40 Eigen::VectorXd track(2);
42 YAML::Node list = YAML::Load(
"[{position: [1.0, 2.0]}, {position: [3.0, 4.0]}]");
44 ASSERT_EQ(track.size(), 6);
45 EXPECT_DOUBLE_EQ(track[0], 9.0);
46 EXPECT_DOUBLE_EQ(track[1], 8.0);
47 EXPECT_DOUBLE_EQ(track[2], 1.0);
48 EXPECT_DOUBLE_EQ(track[3], 2.0);
49 EXPECT_DOUBLE_EQ(track[4], 3.0);
50 EXPECT_DOUBLE_EQ(track[5], 4.0);
53TEST(AddLandmarksTest, HandlesNegativeCoordinates) {
54 Eigen::VectorXd track(0);
55 YAML::Node list = YAML::Load(
"[{position: [-1.5, -2.5]}]");
57 ASSERT_EQ(track.size(), 2);
58 EXPECT_DOUBLE_EQ(track[0], -1.5);
59 EXPECT_DOUBLE_EQ(track[1], -2.5);
62TEST(LoadMapTest, LoadsAccelerationYamlWithoutFailure) {
63 Eigen::Vector3d start_position;
64 Eigen::VectorXd track;
65 std::string package_prefix = ament_index_cpp::get_package_prefix(
"slam");
66 std::string mapPath = package_prefix +
"/../../src/slam/test/track_loader/skidpad.yaml";
68 std::string track_string =
"";
69 for (
int i = 0; i < track.size() / 2; ++i) {
71 "(" + std::to_string(track[2 * i]) +
", " + std::to_string(track[2 * i + 1]) +
"), ";
73 RCLCPP_INFO(rclcpp::get_logger(
"slam"),
"Track: %s", track_string.c_str());
void load_initial_state(std::string mapPath, Eigen::Vector3d &start_pose, Eigen::VectorXd &track)
loads the map from the specified path and fills the start pose and track.