tesseract_urdf_dynamics_unit.cpp
Go to the documentation of this file.
3 #include <gtest/gtest.h>
4 #include <Eigen/Geometry>
6 
10 
11 TEST(TesseractURDFUnit, parse_dynamics) // NOLINT
12 {
13  {
14  std::string str = R"(<dynamics damping="1" friction="2" extra="0 0 0"/>)";
16  EXPECT_TRUE(runTest<tesseract_scene_graph::JointDynamics::Ptr>(
18  EXPECT_NEAR(elem->damping, 1, 1e-8);
19  EXPECT_NEAR(elem->friction, 2, 1e-8);
20  }
21 
22  {
23  std::string str = R"(<dynamics damping="1"/>)";
25  EXPECT_TRUE(runTest<tesseract_scene_graph::JointDynamics::Ptr>(
27  EXPECT_NEAR(elem->damping, 1, 1e-8);
28  EXPECT_NEAR(elem->friction, 0, 1e-8);
29  }
30 
31  {
32  std::string str = R"(<dynamics friction="2"/>)";
34  EXPECT_TRUE(runTest<tesseract_scene_graph::JointDynamics::Ptr>(
36  EXPECT_NEAR(elem->damping, 0, 1e-8);
37  EXPECT_NEAR(elem->friction, 2, 1e-8);
38  }
39 
40  {
41  std::string str = R"(<dynamics damping="a" friction="2"/>)";
43  EXPECT_FALSE(runTest<tesseract_scene_graph::JointDynamics::Ptr>(
45  }
46 
47  {
48  std::string str = R"(<dynamics damping="1" friction="b"/>)";
50  EXPECT_FALSE(runTest<tesseract_scene_graph::JointDynamics::Ptr>(
52  }
53 
54  {
55  std::string str = "<dynamics/>";
57  EXPECT_FALSE(runTest<tesseract_scene_graph::JointDynamics::Ptr>(
59  }
60 }
61 
62 TEST(TesseractURDFUnit, write_dynamics) // NOLINT
63 {
64  {
65  tesseract_scene_graph::JointDynamics::Ptr dynamics = std::make_shared<tesseract_scene_graph::JointDynamics>();
66  dynamics->damping = 1.5;
67  dynamics->friction = 2.5;
68  std::string text;
69  EXPECT_EQ(0, writeTest<tesseract_scene_graph::JointDynamics::Ptr>(dynamics, &tesseract_urdf::writeDynamics, text));
70  EXPECT_NE(text, "");
71  }
72 
73  {
75  std::string text;
76  EXPECT_EQ(1, writeTest<tesseract_scene_graph::JointDynamics::Ptr>(dynamics, &tesseract_urdf::writeDynamics, text));
77  EXPECT_EQ(text, "");
78  }
79 }
tesseract_urdf::DYNAMICS_ELEMENT_NAME
static constexpr std::string_view DYNAMICS_ELEMENT_NAME
Definition: dynamics.h:45
TEST
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH TESSERACT_COMMON_IGNORE_WARNINGS_POP TEST(TesseractURDFUnit, parse_dynamics)
Definition: tesseract_urdf_dynamics_unit.cpp:11
joint.h
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
dynamics.h
Parse dynamics from xml string.
EXPECT_TRUE
#define EXPECT_TRUE(args)
tesseract_urdf::parseDynamics
std::shared_ptr< tesseract_scene_graph::JointDynamics > parseDynamics(const tinyxml2::XMLElement *xml_element)
Parse a xml dynamics element.
Definition: dynamics.cpp:41
tesseract_scene_graph::JointDynamics::Ptr
std::shared_ptr< JointDynamics > Ptr
tesseract_urdf_common_unit.h
EXPECT_NEAR
#define EXPECT_NEAR(a, b, prec)
TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_urdf::writeDynamics
tinyxml2::XMLElement * writeDynamics(const std::shared_ptr< const tesseract_scene_graph::JointDynamics > &dynamics, tinyxml2::XMLDocument &doc)
Definition: dynamics.cpp:66
macros.h
EXPECT_EQ
#define EXPECT_EQ(a, b)
EXPECT_FALSE
#define EXPECT_FALSE(args)


tesseract_urdf
Author(s): Levi Armstrong
autogenerated on Thu Apr 24 2025 03:10:44