def test_compare_configuration_13(self): config_a = configuration() config_a.nodes.append( node_configuration(name="node1", pub_topic=["/topic1"], sub_topic=[])) config_a.nodes.append( node_configuration(name="node2", pub_topic=["/topic2"], sub_topic=["/topic1"])) config_a.observers.append( observer_configuration(type="resource", resource=["node1"])) config_a.observers.append( observer_configuration(type="hz", resource=["node2"])) config_b = configuration() config_b.nodes.append( node_configuration(name="node1", pub_topic=["/topic1"], sub_topic=[])) config_b.nodes.append( node_configuration(name="node2", pub_topic=["/topic2"], sub_topic=["/topic1"])) config_b.observers.append( observer_configuration(type="resource", resource=["node1", "node2"])) config_b.observers.append( observer_configuration(type="hz", resource=["node2"])) self.assertFalse(compare_configuration(config_a, config_b), "configurations not equal!")
def test_minimize_config_2(self): config_a = configuration() config_a.nodes.append( node_configuration(name="node1", pub_topic=["/topic1"], sub_topic=[])) config_a.nodes.append( node_configuration(name="node2", pub_topic=["/topic2"], sub_topic=["/topic1"])) config_a.nodes.append( node_configuration(name="node3", pub_topic=["/topic3"], sub_topic=["/topic2"])) config_a.observers.append( observer_configuration(type="resource", resource=["node1"])) config_required = configuration() config_required.nodes.append( node_configuration(name="node1", pub_topic=[], sub_topic=[])) config_required.observers.append( observer_configuration(type="resource", resource=["node1"])) DiagnosisConfigValidator.minimize_config(config_a) self.assertTrue(compare_configuration(config_a, config_required), "configurations not equal!")
if __name__ == "__main__": rospy.init_node('tug_diagnosis_config_validator', anonymous=False) # config_a = configuration() # # config_a.nodes.append(node_configuration(name="node1", pub_topic=["/topic1"], sub_topic=[])) # # config_a.nodes.append(node_configuration(name="node2", pub_topic=[], sub_topic=[])) # # config_a.nodes.append(node_configuration(name="node2", pub_topic=["/topic2"], sub_topic=["/topic1"])) # # config_a.nodes.append(node_configuration(name="node3", pub_topic=["/topic3"], sub_topic=["/topic1", "/topic2"])) # # config_a.nodes.append(node_configuration(name="node3", pub_topic=[], sub_topic=[])) # # config_a.observers.append(observer_configuration(type="hz", resource=["/topic1"])) # # config_a.observers.append(observer_configuration(type="hz", resource=["/topic2"])) # # config_a.observers.append(observer_configuration(type="resource", resource=["node3"])) # a_config = configuration() a_config.nodes.append( node_configuration(name="node1", pub_topic=["/topic1"], sub_topic=[])) a_config.nodes.append( node_configuration(name="node2", pub_topic=["/topic2"], sub_topic=["/topic1"])) a_config.nodes.append( node_configuration(name="node3", pub_topic=["/topic3"], sub_topic=["/topic2"])) # config_a.observers.append(observer_configuration(type="movement", resource=["/topic1", "/topic2"])) a_config.observers.append( observer_configuration(type="resource", resource=["node1"])) a_config.observers.append(
#!/usr/bin/env python import rospy from tug_python_utils import YamlHelper from tug_diagnosis_msgs.msg import configuration, node_configuration, observer_configuration from tug_diagnosis_msgs.srv import * if __name__ == "__main__": rospy.init_node('tug_diagnosis_initialization', anonymous=False) rospy.loginfo("tug_diagnosis_initialization: starting") rospy.loginfo("tug_diagnosis_initialization: load config") configs = rospy.get_param('/tug_diagnosis_initialization_node') model_configuration = configuration() rospy.loginfo("tug_diagnosis_initialization: load nodes") for node in YamlHelper.get_param(configs, 'nodes'): name = YamlHelper.get_param(node, 'name') sub_topic = YamlHelper.get_param(node, 'sub_topic', []) pub_topic = YamlHelper.get_param(node, 'pub_topic', []) model_configuration.nodes.append( node_configuration(name=str(name), pub_topic=list(pub_topic), sub_topic=list(sub_topic))) rospy.loginfo("tug_diagnosis_initialization: load observers") for observation in YamlHelper.get_param(configs, 'observations'): type = YamlHelper.get_param(observation, 'type')