Go to the documentation of this file.00001
00002
00003
00004
00005 import rospy
00006 from unittest import TestCase
00007
00008 from jsk_recognition_msgs.msg import PolygonArray
00009
00010
00011 class TestPolygonArrayLikelihoodFilter(TestCase):
00012 def polygon_cb(self, msg):
00013 self.msg = msg
00014
00015 def test_filter(self):
00016 self.msg = None
00017 self.sub_polygon = rospy.Subscriber("/polygon_array_likelihood_filter/output_polygons",
00018 PolygonArray, self.polygon_cb)
00019
00020 for i in range(30):
00021 if self.msg is not None:
00022 self.sub_polygon.unregister()
00023 break
00024 rospy.sleep(1.0)
00025 self.assertIsNotNone(self.msg, "No message received for 30 seconds")
00026
00027 self.assertEqual(len(self.msg.polygons), 2,
00028 "polygons that have likelihood more than 0.8 are 2")
00029 for l in self.msg.likelihood:
00030 self.assertGreaterEqual(l, 0.8, "likelihood is greater equal 0.8")
00031
00032
00033 if __name__ == '__main__':
00034 import rostest
00035 rospy.init_node("test_polygon_array_likelihood_filter")
00036 rostest.rosrun("jsk_pcl_ros_utils", "polygon_array_likelihood_filter", TestPolygonArrayLikelihoodFilter)