Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "cartographer/cloud/internal/handlers/set_landmark_pose_handler.h"
00018
00019 #include "cartographer/cloud/internal/testing/handler_test.h"
00020 #include "cartographer/cloud/internal/testing/test_helpers.h"
00021 #include "cartographer/transform/rigid_transform_test_helpers.h"
00022 #include "google/protobuf/text_format.h"
00023 #include "gtest/gtest.h"
00024
00025 namespace cartographer {
00026 namespace cloud {
00027 namespace handlers {
00028 namespace {
00029
00030 const std::string kMessage = R"(
00031 landmark_pose {
00032 landmark_id: "landmark_1"
00033 global_pose {
00034 translation {
00035 x: 1 y: 2 z: 3
00036 }
00037 rotation {
00038 w: 4 x: 5 y: 6 z: 7
00039 }
00040 }
00041 })";
00042
00043 using SetLandmarkPoseHandlerTest =
00044 testing::HandlerTest<SetLandmarkPoseSignature, SetLandmarkPoseHandler>;
00045
00046 TEST_F(SetLandmarkPoseHandlerTest, SetLandmarkPose) {
00047 constexpr double kEps = 1e-10;
00048 proto::SetLandmarkPoseRequest request;
00049 EXPECT_TRUE(
00050 google::protobuf::TextFormat::ParseFromString(kMessage, &request));
00051 EXPECT_CALL(
00052 *mock_pose_graph_,
00053 SetLandmarkPose("landmark_1",
00054 transform::IsNearly(
00055 transform::Rigid3d(Eigen::Vector3d(1, 2, 3),
00056 Eigen::Quaterniond(4, 5, 6, 7)),
00057 kEps),
00058 false));
00059 test_server_->SendWrite(request);
00060 }
00061
00062 }
00063 }
00064 }
00065 }