29 #include <gtest/gtest.h>
55 std::string path =
"package://tesseract_support/urdf/lbr_iiwa_14_r820.urdf";
61 std::string path =
"package://tesseract_support/urdf/lbr_iiwa_14_r820.srdf";
63 auto srdf = std::make_shared<SRDFModel>();
64 srdf->initFile(scene_graph, locator.
locateResource(path)->getFilePath(), locator);
72 auto env = std::make_shared<Environment>();
75 env->init(*scene_graph, srdf);
76 env->setResourceLocator(std::make_shared<tesseract_common::GeneralResourceLocator>());
83 testSerializationPtr<Environment>(env,
"Environment");
86 TEST(EnvironmentSerializeUnit, EnvironmentAnyPoly)
90 testSerializationAnyPolyStoredSharedPtr<Environment::Ptr>(env_any,
"EnvironmentAnyPoly");
98 auto object = std::make_shared<ModifyAllowedCollisionsCommand>(add_ac, ModifyAllowedCollisionsType::ADD);
99 testSerialization<ModifyAllowedCollisionsCommand>(*
object,
"ModifyAllowedCollisionsCommand");
100 testSerializationDerivedClass<Command, ModifyAllowedCollisionsCommand>(
object,
"ModifyAllowedCollisionsCommand");
106 auto object = std::make_shared<ModifyAllowedCollisionsCommand>(remove_ac, ModifyAllowedCollisionsType::REMOVE);
107 testSerialization<ModifyAllowedCollisionsCommand>(*
object,
"ModifyAllowedCollisionsCommand");
108 testSerializationDerivedClass<Command, ModifyAllowedCollisionsCommand>(
object,
"ModifyAllowedCollisionsCommand");
114 auto object = std::make_shared<ModifyAllowedCollisionsCommand>(replace_ac, ModifyAllowedCollisionsType::REPLACE);
115 testSerialization<ModifyAllowedCollisionsCommand>(*
object,
"ModifyAllowedCollisionsCommand");
116 testSerializationDerivedClass<Command, ModifyAllowedCollisionsCommand>(
object,
"ModifyAllowedCollisionsCommand");
123 auto object = std::make_shared<AddContactManagersPluginInfoCommand>(info);
124 testSerialization<AddContactManagersPluginInfoCommand>(*
object,
"AddContactManagersPluginInfoCommand");
125 testSerializationDerivedClass<Command, AddContactManagersPluginInfoCommand>(
object,
126 "AddContactManagersPluginInfoCommand");
132 auto object = std::make_shared<AddKinematicsInformationCommand>(info);
133 testSerialization<AddKinematicsInformationCommand>(*
object,
"AddKinematicsInformationCommand");
134 testSerializationDerivedClass<Command, AddKinematicsInformationCommand>(
object,
"AddKinematicsInformationCommand");
139 Link link_1(
"link_1");
140 Link link_2(
"link_2");
141 Joint joint_1(
"joint_1");
145 joint_1.
type = JointType::FIXED;
147 auto object = std::make_shared<AddLinkCommand>(link_2, joint_1,
false);
148 testSerialization<AddLinkCommand>(*
object,
"AddLinkCommand");
149 testSerializationDerivedClass<Command, AddLinkCommand>(
object,
"AddLinkCommand");
158 auto object = std::make_shared<AddTrajectoryLinkCommand>(
"link_name",
"parent_link_name", trajectory,
false);
159 testSerialization<AddTrajectoryLinkCommand>(*
object,
"AddTrajectoryLinkCommand");
160 testSerializationDerivedClass<Command, AddTrajectoryLinkCommand>(
object,
"AddTrajectoryLinkCommand");
167 Joint joint_1(
"joint_1");
171 joint_1.
type = JointType::FIXED;
172 auto object = std::make_shared<AddSceneGraphCommand>(*
getSceneGraph(locator), joint,
"prefix");
173 testSerialization<AddSceneGraphCommand>(*
object,
"AddSceneGraphCommand");
174 testSerializationDerivedClass<Command, AddSceneGraphCommand>(
object,
"AddSceneGraphCommand");
183 testSerialization<ChangeCollisionMarginsCommand>(*
object,
"ChangeCollisionMarginsCommand");
184 testSerializationDerivedClass<Command, ChangeCollisionMarginsCommand>(
object,
"ChangeCollisionMarginsCommand");
189 auto object = std::make_shared<ChangeJointAccelerationLimitsCommand>(
"joint6", 3001);
190 testSerialization<ChangeJointAccelerationLimitsCommand>(*
object,
"ChangeJointAccelerationLimitsCommand");
191 testSerializationDerivedClass<Command, ChangeJointAccelerationLimitsCommand>(
object,
192 "ChangeJointAccelerationLimitsCommand");
197 Eigen::Isometry3d origin = Eigen::Isometry3d::Identity();
198 origin.translate(Eigen::Vector3d(1, 5, 9));
199 auto object = std::make_shared<ChangeJointOriginCommand>(
"joint6", origin);
200 testSerialization<ChangeJointOriginCommand>(*
object,
"ChangeJointOriginCommand");
201 testSerializationDerivedClass<Command, ChangeJointOriginCommand>(
object,
"ChangeJointOriginCommand");
206 auto object = std::make_shared<ChangeJointPositionLimitsCommand>(
"joint6", -
M_PI,
M_PI);
207 testSerialization<ChangeJointPositionLimitsCommand>(*
object,
"ChangeJointPositionLimitsCommand");
208 testSerializationDerivedClass<Command, ChangeJointPositionLimitsCommand>(
object,
"ChangeJointPositionLimitsCommand");
213 auto object = std::make_shared<ChangeJointVelocityLimitsCommand>(
"joint6", 5001);
214 testSerialization<ChangeJointVelocityLimitsCommand>(*
object,
"ChangeJointVelocityLimitsCommand");
215 testSerializationDerivedClass<Command, ChangeJointVelocityLimitsCommand>(
object,
"ChangeJointVelocityLimitsCommand");
220 auto object = std::make_shared<ChangeLinkCollisionEnabledCommand>(
"joint3",
true);
221 testSerialization<ChangeLinkCollisionEnabledCommand>(*
object,
"ChangeLinkCollisionEnabledCommand");
222 testSerializationDerivedClass<Command, ChangeLinkCollisionEnabledCommand>(
object,
223 "ChangeLinkCollisionEnabledCommand");
228 Eigen::Isometry3d origin = Eigen::Isometry3d::Identity();
229 origin.translate(Eigen::Vector3d(1, 5, 9));
230 auto object = std::make_shared<ChangeLinkOriginCommand>(
"really long test joint name with whitespace", origin);
231 testSerialization<ChangeLinkOriginCommand>(*
object,
"ChangeLinkOriginCommand");
232 testSerializationDerivedClass<Command, ChangeLinkOriginCommand>(
object,
"ChangeLinkOriginCommand");
237 auto object = std::make_shared<ChangeLinkVisibilityCommand>(
"j1",
true);
238 testSerialization<ChangeLinkVisibilityCommand>(*
object,
"ChangeLinkVisibilityCommand");
239 testSerializationDerivedClass<Command, ChangeLinkVisibilityCommand>(
object,
"ChangeLinkVisibilityCommand");
244 auto object = std::make_shared<MoveJointCommand>(
"j1",
"j2");
245 testSerialization<MoveJointCommand>(*
object,
"MoveJointCommand");
246 testSerializationDerivedClass<Command, MoveJointCommand>(
object,
"MoveJointCommand");
251 auto joint_1 = std::make_shared<Joint>(
"name");
252 joint_1->parent_to_joint_origin_transform.translation()(0) = 1.25;
253 joint_1->parent_link_name =
"l1";
254 joint_1->child_link_name =
"l2";
255 joint_1->type = JointType::FIXED;
257 auto object = std::make_shared<MoveLinkCommand>(*joint_1);
258 testSerialization<MoveLinkCommand>(*
object,
"MoveLinkCommand");
259 testSerializationDerivedClass<Command, MoveLinkCommand>(
object,
"MoveLinkCommand");
264 auto object = std::make_shared<RemoveAllowedCollisionLinkCommand>(
"link name");
265 testSerialization<RemoveAllowedCollisionLinkCommand>(*
object,
"RemoveAllowedCollisionLinkCommand");
266 testSerializationDerivedClass<Command, RemoveAllowedCollisionLinkCommand>(
object,
267 "RemoveAllowedCollisionLinkCommand");
272 auto object = std::make_shared<RemoveJointCommand>(
"joint name");
273 testSerialization<RemoveJointCommand>(*
object,
"RemoveJointCommand");
274 testSerializationDerivedClass<Command, RemoveJointCommand>(
object,
"RemoveJointCommand");
279 auto object = std::make_shared<RemoveLinkCommand>(
"link name");
280 testSerialization<RemoveLinkCommand>(*
object,
"RemoveLinkCommand");
281 testSerializationDerivedClass<Command, RemoveLinkCommand>(
object,
"RemoveLinkCommand");
286 auto joint_1 = std::make_shared<Joint>(
"name");
287 joint_1->parent_to_joint_origin_transform.translation()(0) = 1.25;
288 joint_1->parent_link_name =
"l1";
289 joint_1->child_link_name =
"l2";
290 joint_1->type = JointType::FIXED;
291 auto object = std::make_shared<ReplaceJointCommand>(*joint_1);
292 testSerialization<ReplaceJointCommand>(*
object,
"ReplaceJointCommand");
293 testSerializationDerivedClass<Command, ReplaceJointCommand>(
object,
"ReplaceJointCommand");
298 auto object = std::make_shared<SetActiveContinuousContactManagerCommand>(
"my contact manager");
299 testSerialization<SetActiveContinuousContactManagerCommand>(*
object,
"SetActiveContinuousContactManagerCommand");
300 testSerializationDerivedClass<Command, SetActiveContinuousContactManagerCommand>(
object,
301 "SetActiveContinuousContactManagerCo"
307 auto object = std::make_shared<SetActiveDiscreteContactManagerCommand>(
"my contact manager 2");
308 testSerialization<SetActiveDiscreteContactManagerCommand>(*
object,
"SetActiveDiscreteContactManagerCommand");
309 testSerializationDerivedClass<Command, SetActiveDiscreteContactManagerCommand>(
object,
310 "SetActiveDiscreteContactManagerComman"
314 int main(
int argc,
char** argv)
316 testing::InitGoogleTest(&argc, argv);
318 return RUN_ALL_TESTS();