3 #include <gtest/gtest.h>
13 TEST(TesseractSceneGraphUnit, TesseractSceneGraphLinkMaterialUnit)
18 EXPECT_EQ(m.
getName(),
"test_material");
20 EXPECT_TRUE(m.
color.isApprox(Eigen::Vector4d(0.5, 0.5, 0.5, 1.0)));
23 m.
color = Eigen::Vector4d(1.0, 1.0, 1.0, 1.0);
26 EXPECT_EQ(m.
getName(),
"test_material");
28 EXPECT_TRUE(m.
color.isApprox(Eigen::Vector4d(0.5, 0.5, 0.5, 1.0)));
31 TEST(TesseractSceneGraphUnit, TesseractSceneGraphLinkInertiaUnit)
36 EXPECT_TRUE(m.
origin.isApprox(Eigen::Isometry3d::Identity()));
37 EXPECT_NEAR(m.
mass, 0, 1e-6);
38 EXPECT_NEAR(m.
ixx, 0, 1e-6);
39 EXPECT_NEAR(m.
ixy, 0, 1e-6);
40 EXPECT_NEAR(m.
ixz, 0, 1e-6);
41 EXPECT_NEAR(m.
iyy, 0, 1e-6);
42 EXPECT_NEAR(m.
iyz, 0, 1e-6);
43 EXPECT_NEAR(m.
izz, 0, 1e-6);
45 m.
origin.translation() = Eigen::Vector3d(1, 2, 3);
55 EXPECT_TRUE(m.
origin.isApprox(Eigen::Isometry3d::Identity()));
56 EXPECT_NEAR(m.
mass, 0, 1e-6);
57 EXPECT_NEAR(m.
ixx, 0, 1e-6);
58 EXPECT_NEAR(m.
ixy, 0, 1e-6);
59 EXPECT_NEAR(m.
ixz, 0, 1e-6);
60 EXPECT_NEAR(m.
iyy, 0, 1e-6);
61 EXPECT_NEAR(m.
iyz, 0, 1e-6);
62 EXPECT_NEAR(m.
izz, 0, 1e-6);
65 TEST(TesseractSceneGraphUnit, TesseractSceneGraphLinkVisualUnit)
70 EXPECT_TRUE(m.
origin.isApprox(Eigen::Isometry3d::Identity()));
73 EXPECT_TRUE(m.
name.empty());
75 m.
origin.translation() = Eigen::Vector3d(1, 2, 3);
76 m.
material = std::make_shared<Material>(
"test_material");
77 m.
material->color = Eigen::Vector4d(1, 1, 1, 1);
78 m.
geometry = std::make_shared<tesseract_geometry::Box>(1, 1, 1);
79 m.
name =
"test_visual";
82 EXPECT_TRUE(m.
origin.isApprox(Eigen::Isometry3d::Identity()));
85 EXPECT_TRUE(m.
name.empty());
88 TEST(TesseractSceneGraphUnit, TesseractSceneGraphLinkCollisionUnit)
93 EXPECT_TRUE(m.
origin.isApprox(Eigen::Isometry3d::Identity()));
95 EXPECT_TRUE(m.
name.empty());
97 m.
origin.translation() = Eigen::Vector3d(1, 2, 3);
98 m.
geometry = std::make_shared<tesseract_geometry::Box>(1, 1, 1);
99 m.
name =
"test_collision";
102 EXPECT_TRUE(m.
origin.isApprox(Eigen::Isometry3d::Identity()));
104 EXPECT_TRUE(m.
name.empty());
107 TEST(TesseractSceneGraphUnit, TesseractSceneGraphLinkUnit)
112 EXPECT_EQ(l.
getName(),
"test_link");
114 l.
inertial = std::make_shared<Inertial>();
115 l.
inertial->origin.translation() = Eigen::Vector3d(1, 2, 3);
125 v->origin.translation() = Eigen::Vector3d(1, 2, 3);
126 v->material = std::make_shared<Material>(
"test_material");
127 v->material->color = Eigen::Vector4d(1, 1, 1, 1);
128 v->geometry = std::make_shared<tesseract_geometry::Box>(1, 1, 1);
129 v->name =
"test_visual";
133 c->origin.translation() = Eigen::Vector3d(1, 2, 3);
134 c->geometry = std::make_shared<tesseract_geometry::Box>(1, 1, 1);
135 c->name =
"test_collision";
139 EXPECT_EQ(l_clone.
getName(),
"test_link");
141 EXPECT_TRUE(l_clone.
inertial !=
nullptr);
143 EXPECT_NEAR(l_clone.
inertial->mass, 1, 1e-6);
144 EXPECT_NEAR(l_clone.
inertial->ixx, 5, 1e-6);
145 EXPECT_NEAR(l_clone.
inertial->ixy, 5, 1e-6);
146 EXPECT_NEAR(l_clone.
inertial->ixz, 5, 1e-6);
147 EXPECT_NEAR(l_clone.
inertial->iyy, 5, 1e-6);
148 EXPECT_NEAR(l_clone.
inertial->iyz, 5, 1e-6);
149 EXPECT_NEAR(l_clone.
inertial->izz, 5, 1e-6);
150 EXPECT_EQ(l_clone.
visual.size(), 1);
151 EXPECT_TRUE(l_clone.
visual.front() != v);
152 EXPECT_TRUE(l_clone.
visual.front() !=
nullptr);
153 EXPECT_TRUE(l_clone.
visual.front()->origin.isApprox(l.
visual.front()->origin));
155 EXPECT_TRUE(l_clone.
visual.front()->material == l.
visual.front()->material);
156 EXPECT_TRUE(l_clone.
visual.front()->geometry == l.
visual.front()->geometry);
157 EXPECT_TRUE(l_clone.
visual.front()->name == l.
visual.front()->name);
159 EXPECT_TRUE(l_clone.
collision.front() != c);
160 EXPECT_TRUE(l_clone.
collision.front() !=
nullptr);
167 EXPECT_EQ(l.
getName(),
"test_link");
168 EXPECT_TRUE(l.
visual.empty());
173 int main(
int argc,
char** argv)
175 testing::InitGoogleTest(&argc, argv);
177 return RUN_ALL_TESTS();