32 #include <gtest/gtest.h> 33 #include <gmock/gmock.h> 39 #include <sensor_msgs/Range.h> 68 using ::testing::ElementsAre;
69 using ::testing::UnorderedElementsAre;
70 using ::testing::Pair;
75 ASSERT_EQ(points.size(), 0u);
76 ASSERT_EQ(lines.size(), 0u);
83 ASSERT_EQ(points.size(), 1u);
84 ASSERT_EQ(points[0], tf2::Vector3(1.0,0.0,0.0));
85 ASSERT_EQ(lines.size(), 0u);
91 ASSERT_EQ(points.size(), 2u);
92 ASSERT_THAT(points, ElementsAre(tf2::Vector3(1,0,0), tf2::Vector3(2,0,0)));
93 ASSERT_EQ(lines.size(), 0u);
98 ASSERT_EQ(points.size(), 0u);
99 ASSERT_EQ(lines.size(), 0u);
104 sensor_msgs::Range msg;
105 msg.field_of_view = 1.5708;
106 msg.min_range = 0.05;
108 msg.radiation_type = sensor_msgs::Range::ULTRASOUND;
110 msg.header.frame_id =
"base_link";
121 ASSERT_EQ(points.size(), 2u);
122 ASSERT_NEAR(points[0].
x(),
sqrt(2)/2.0, 0.01);
123 ASSERT_NEAR(points[0].
y(), -
sqrt(2)/2.0, 0.01);
124 ASSERT_NEAR(points[1].
x(),
sqrt(2)/2.0, 0.01);
125 ASSERT_NEAR(points[1].
y(),
sqrt(2)/2.0, 0.01);
128 ASSERT_EQ(lines.size(), 1u);
129 ASSERT_THAT(lines, ElementsAre(Pair(points[0], points[1])));
145 ASSERT_EQ(points.size(), 2u);
146 ASSERT_NEAR(points[0].
x(),
sqrt(2), 0.01);
147 ASSERT_NEAR(points[0].
y(), -
sqrt(2), 0.01);
148 ASSERT_NEAR(points[1].
x(),
sqrt(2), 0.01);
149 ASSERT_NEAR(points[1].
y(),
sqrt(2), 0.01);
150 ASSERT_EQ(lines.size(), 1u);
151 ASSERT_THAT(lines, ElementsAre(Pair(points[0], points[1])));
154 int main(
int argc,
char **argv) {
155 ros::init(argc, argv,
"obstacle_points_test");
157 testing::InitGoogleTest(&argc, argv);
158 return RUN_ALL_TESTS();
void publish(const boost::shared_ptr< M > &message) const
TEST_F(ObstaclePointsTests, noSensors)
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
tf2_ros::TransformBroadcaster tf_broadcaster
TFSIMD_FORCE_INLINE const tfScalar & y() const
tf2_ros::TransformListener * listener
TFSIMD_FORCE_INLINE const tfScalar & x() const
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
INLINE Rall1d< T, V, S > sqrt(const Rall1d< T, V, S > &arg)
void add_test_point(tf2::Vector3 p)
tf2_ros::Buffer tf_buffer
ObstaclePoints * obstacle_points
std::vector< Line > get_lines(ros::Duration max_age)
int main(int argc, char **argv)
std::vector< tf2::Vector3 > get_points(ros::Duration max_age)
ROSCPP_DECL void spinOnce()