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( observer_configuration(type="resource", resource=["node2"])) a_config.observers.append(
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') resource = [] if YamlHelper.has_key(observation, 'nodes'): resource = YamlHelper.get_param(observation, 'nodes', []) elif YamlHelper.has_key(observation, 'topics'): resource = YamlHelper.get_param(observation, 'topics', []) model_configuration.observers.append( observer_configuration(type=str(type), resource=list(resource)))