def test_NodeRef_pubs(self): from rosmaster.registrations import NodeRef, Registrations n = NodeRef('n1', 'http://localhost:1234') # test topic publications n.add(Registrations.TOPIC_PUBLICATIONS, 'topic1') self.failIf(n.is_empty()) self.assert_('topic1' in n.topic_publications) self.assertEquals(['topic1'], n.topic_publications) n.add(Registrations.TOPIC_PUBLICATIONS, 'topic2') self.failIf(n.is_empty()) self.assert_('topic2' in n.topic_publications) self.assert_('topic1' in n.topic_publications) n.remove(Registrations.TOPIC_PUBLICATIONS, 'topic1') self.assert_('topic2' in n.topic_publications) self.assertEquals(['topic2'], n.topic_publications) self.failIf('topic1' in n.topic_publications) self.failIf(n.is_empty()) n.remove(Registrations.TOPIC_PUBLICATIONS, 'topic2') self.failIf('topic2' in n.topic_publications) self.failIf('topic1' in n.topic_publications) self.assertEquals([], n.topic_publications) self.assert_(n.is_empty())
def test_NodeRef_param_subs(self): from rosmaster.registrations import NodeRef, Registrations n = NodeRef('n1', 'http://localhost:1234') # test param suscriptions n.add(Registrations.PARAM_SUBSCRIPTIONS, 'param1') self.failIf(n.is_empty()) self.assert_('param1' in n.param_subscriptions) self.assertEquals(['param1'], n.param_subscriptions) n.add(Registrations.PARAM_SUBSCRIPTIONS, 'param2') self.failIf(n.is_empty()) self.assert_('param2' in n.param_subscriptions) self.assert_('param1' in n.param_subscriptions) n.remove(Registrations.PARAM_SUBSCRIPTIONS, 'param1') self.assert_('param2' in n.param_subscriptions) self.assertEquals(['param2'], n.param_subscriptions) self.failIf('param1' in n.param_subscriptions) self.failIf(n.is_empty()) n.remove(Registrations.PARAM_SUBSCRIPTIONS, 'param2') self.failIf('param2' in n.param_subscriptions) self.failIf('param1' in n.param_subscriptions) self.assertEquals([], n.param_subscriptions) self.assert_(n.is_empty())
def test_NodeRef_services(self): from rosmaster.registrations import NodeRef, Registrations n = NodeRef('n1', 'http://localhost:1234') # test services n.add(Registrations.SERVICE, 'add_two_ints') self.failIf(n.is_empty()) self.assert_('add_two_ints' in n.services) self.assertEquals(['add_two_ints'], n.services) n.add(Registrations.SERVICE, 'add_three_ints') self.failIf(n.is_empty()) self.assert_('add_three_ints' in n.services) self.assert_('add_two_ints' in n.services) n.remove(Registrations.SERVICE, 'add_two_ints') self.assert_('add_three_ints' in n.services) self.assertEquals(['add_three_ints'], n.services) self.failIf('add_two_ints' in n.services) self.failIf(n.is_empty()) n.remove(Registrations.SERVICE, 'add_three_ints') self.failIf('add_three_ints' in n.services) self.failIf('add_two_ints' in n.services) self.assertEquals([], n.services) self.assert_(n.is_empty())
def test_NodeRef_base(self): import rosmaster.exceptions from rosmaster.registrations import NodeRef, Registrations n = NodeRef('n1', 'http://localhost:1234') self.assertEquals('http://localhost:1234', n.api) self.assertEquals([], n.param_subscriptions) self.assertEquals([], n.topic_subscriptions) self.assertEquals([], n.topic_publications) self.assertEquals([], n.services) self.assert_(n.is_empty()) try: n.add(12345, 'topic') self.fail("should have failed with invalid type") except rosmaster.exceptions.InternalException: pass try: n.remove(12345, 'topic') self.fail("should have failed with invalid type") except rosmaster.exceptions.InternalException: pass n.add(Registrations.TOPIC_PUBLICATIONS, 'topic1') n.add(Registrations.TOPIC_PUBLICATIONS, 'topic2') n.add(Registrations.TOPIC_SUBSCRIPTIONS, 'topic2') n.add(Registrations.TOPIC_SUBSCRIPTIONS, 'topic3') n.add(Registrations.PARAM_SUBSCRIPTIONS, 'topic4') n.add(Registrations.SERVICE, 'serv') self.failIf(n.is_empty()) n.clear() self.assert_(n.is_empty())