00001 #include <vigir_footstep_planning_msgs/msgs_test_helper.h> 00002 00003 #include <gtest/gtest.h> 00004 00005 00006 00007 namespace vigir_footstep_planning 00008 { 00009 void isEqualTest(const std_msgs::String& exp, const std_msgs::String& res) 00010 { 00011 EXPECT_EQ(exp.data, res.data); 00012 } 00013 00014 void isEqualTest(const std_msgs::Header& exp, const std_msgs::Header& res) 00015 { 00016 EXPECT_EQ(exp.seq, res.seq); 00017 EXPECT_EQ(exp.stamp, res.stamp); 00018 EXPECT_EQ(exp.frame_id, res.frame_id); 00019 } 00020 00021 void isEqualTest(const geometry_msgs::Point& exp, const geometry_msgs::Point& res) 00022 { 00023 EXPECT_DOUBLE_EQ(exp.x, res.x); 00024 EXPECT_DOUBLE_EQ(exp.y, res.y); 00025 EXPECT_DOUBLE_EQ(exp.z, res.z); 00026 } 00027 00028 void isEqualTest(const geometry_msgs::Quaternion& exp, const geometry_msgs::Quaternion& res) 00029 { 00030 EXPECT_DOUBLE_EQ(exp.x, res.x); 00031 EXPECT_DOUBLE_EQ(exp.y, res.y); 00032 EXPECT_DOUBLE_EQ(exp.z, res.z); 00033 EXPECT_DOUBLE_EQ(exp.w, res.w); 00034 } 00035 00036 void isEqualTest(const geometry_msgs::Pose& exp, const geometry_msgs::Pose& res) 00037 { 00038 isEqualTest(exp.position, res.position); 00039 isEqualTest(exp.orientation, res.orientation); 00040 } 00041 00042 void isEqualTest(const msgs::Foot& exp, const msgs::Foot& res) 00043 { 00044 isEqualTest(exp.header, res.header); 00045 EXPECT_EQ(exp.foot_index, res.foot_index); 00046 isEqualTest(exp.pose, res.pose); 00047 } 00048 00049 void isEqualTest(const msgs::Feet& exp, const msgs::Feet& res) 00050 { 00051 isEqualTest(exp.header, res.header); 00052 isEqualTest(exp.left, res.left); 00053 isEqualTest(exp.right, res.right); 00054 } 00055 00056 void isEqualTest(const msgs::Step& exp, const msgs::Step& res) 00057 { 00058 isEqualTest(exp.header, res.header); 00059 isEqualTest(exp.foot, res.foot); 00060 EXPECT_EQ(exp.step_index, res.step_index); 00061 EXPECT_FLOAT_EQ(exp.cost, res.cost); 00062 EXPECT_FLOAT_EQ(exp.risk, res.risk); 00063 EXPECT_EQ(exp.valid, res.valid); 00064 EXPECT_EQ(exp.colliding, res.colliding); 00065 EXPECT_EQ(exp.locked, res.locked); 00066 EXPECT_EQ(exp.modified, res.modified); 00067 EXPECT_FLOAT_EQ(exp.sway_duration, res.sway_duration); 00068 EXPECT_FLOAT_EQ(exp.step_duration, res.step_duration); 00069 EXPECT_FLOAT_EQ(exp.swing_height, res.swing_height); 00070 } 00071 00072 void isEqualTest(const msgs::StepPlan& exp, const msgs::StepPlan& res) 00073 { 00074 isEqualTest(exp.header, res.header); 00075 isEqualTest(exp.parameter_set_name, res.parameter_set_name); 00076 isEqualTest(exp.start, res.start); 00077 isEqualTest(exp.goal, res.goal); 00078 00079 ASSERT_EQ(exp.steps.size(), res.steps.size()); 00080 for (size_t i = 0; i < exp.steps.size(); i++) 00081 isEqualTest(exp.steps[i], res.steps[i]); 00082 00083 EXPECT_EQ(exp.mode, res.mode); 00084 } 00085 00086 void isEqualTest(const StepPlan& exp, const StepPlan& res) 00087 { 00088 msgs::StepPlan exp_steps; 00089 exp.toMsg(exp_steps); 00090 00091 msgs::StepPlan res_steps; 00092 res.toMsg(res_steps); 00093 00094 isEqualTest(exp_steps, res_steps); 00095 } 00096 }