44 _request_class = rospy.AnyMsg
45 _response_class = rospy.AnyMsg
50 self.assertTrue(isinstance(rospy.service.ServiceException(), Exception))
53 class MockService(rospy.service._Service):
54 def __init__(self, name, service_class, uri):
55 rospy.service._Service.__init__(self, name, service_class)
58 from rospy.service
import ServiceManager
60 self.assertEqual({}, sm.map)
65 self.assertEqual([], sm.get_services())
67 self.assertEqual([], sm.get_services())
70 mock = MockService(
'/serv', MockServiceClass,
"rosrpc://uri:1")
71 mock2 = MockService(
'/serv', MockServiceClass,
"rosrpc://uri:2")
73 sm.register(
'/serv', mock)
74 self.assertEqual(mock, sm.get_service(
'/serv'))
75 self.assertEqual([(
'/serv', mock.uri)], sm.get_services())
77 sm.register(
'/serv', mock2)
78 self.fail(
"duplicate reg should fail")
79 except rospy.service.ServiceException:
pass
82 self.assertEqual([], sm.get_services())
85 sm.register(
'/serv', mock)
86 sm.unregister(
'/serv', mock2)
87 self.assertEqual(mock, sm.get_service(
'/serv'))
89 sm.register(
'/serv2', mock2)
90 self.assertEqual(mock, sm.get_service(
'/serv'))
91 self.assertEqual(mock2, sm.get_service(
'/serv2'))
92 self.assertTrue((
'/serv', mock.uri)
in sm.get_services())
93 self.assertTrue((
'/serv2', mock2.uri)
in sm.get_services())
95 sm.unregister(
'/serv', mock)
96 self.assertEqual([(
'/serv2', mock2.uri)], sm.get_services())
97 sm.unregister(
'/serv2', mock2)
98 self.assertEqual([], sm.get_services())