def test_to_xml(self): root = TemplateNode() node = TemplateMapNode() node.name = TemplateWordNode("COLOURS") node.append(TemplateWordNode("BLACK")) root.append(node) xml = root.xml_tree(self._client_context) self.assertIsNotNone(xml) xml_str = ET.tostring(xml, "utf-8").decode("utf-8") self.assertEqual('<template><map name="COLOURS">BLACK</map></template>', xml_str)
def test_to_xml(self): root = TemplateNode() node = TemplateMapNode() node.name = TemplateWordNode("COLOURS") node.append(TemplateWordNode("BLACK")) root.append(node) xml = root.xml_tree(self._client_context) self.assertIsNotNone(xml) xml_str = ET.tostring(xml, "utf-8").decode("utf-8") self.assertEqual('<template><map name="COLOURS">BLACK</map></template>', xml_str)
def test_no_map_for_name_defaultmap_not_set(self): self._client_context.brain.maps._maps['COLOURS'] = {'BLACK': 'WHITE'} node = TemplateMapNode() node.name = TemplateWordNode("UNKNOWN") node.append(TemplateWordNode("BLACK")) root = TemplateNode() root.append(node) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("", result)
def test_no_map_for_name_defaultmap_not_set(self): self._client_context.brain.maps._maps['COLOURS'] = {'BLACK': 'WHITE'} node = TemplateMapNode() node.name = TemplateWordNode("UNKNOWN") node.append(TemplateWordNode("BLACK")) root = TemplateNode() root.append(node) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("unknown", result)
def test_no_var_defaultmap_not_set(self): self.bot.brain.maps._maps['COLOURS'] = {'BLACK': 'WHITE'} node = TemplateMapNode() node.name = TemplateWordNode("COLOURS") node.append(TemplateWordNode("UNKNOWN")) root = TemplateNode() root.append(node) result = root.resolve(self.bot, self.clientid) self.assertIsNotNone(result) self.assertEqual("", result)
def test_no_map_for_name_defaultmap_set(self): self._client_context.brain.maps._maps['COLOURS'] = {'BLACK': 'WHITE'} self._client_context.brain.properties.add_property('default-map', "test_value") node = TemplateMapNode() node.name = TemplateWordNode("UNKNOWN") node.append(TemplateWordNode("BLACK")) root = TemplateNode() root.append(node) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("test_value", result)
def test_no_var_defaultmap_set(self): self._client_context.brain.maps._maps['COLOURS'] = {'BLACK': 'WHITE'} self._client_context.brain.properties.add_property('default-map', "test_value") node = TemplateMapNode() node.name = TemplateWordNode("COLOURS") node.append(TemplateWordNode("UNKNOWN")) root = TemplateNode() root.append(node) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("test_value", result)
def test_internal_map_succesor(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() node.name = TemplateWordNode("SUCCESSOR") node.append(TemplateWordNode("1")) root.append(node) self.assertEqual(len(root.children), 1) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("2", result)
def test_internal_map_singular(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() node.name = TemplateWordNode("SINGULAR") node.append(TemplateWordNode("HORSES")) root.append(node) self.assertEqual(len(root.children), 1) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("HORSE", result)
def test_internal_map_plural(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() node.name = TemplateWordNode("PLURAL") node.append(TemplateWordNode("HORSE")) root.append(node) self.assertEqual(len(root.children), 1) result = root.resolve(self.bot, self.clientid) self.assertIsNotNone(result) self.assertEqual("HORSES", result)
def test_internal_map_succesor(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() node.name = TemplateWordNode("SUCCESSOR") node.append(TemplateWordNode("1")) root.append(node) self.assertEqual(len(root.children), 1) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("2", result)
def test_internal_map_predecessor(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() node.name = TemplateWordNode("PREDECESSOR") node.append(TemplateWordNode("2")) root.append(node) self.assertEqual(len(root.children), 1) result = root.resolve(self.bot, self.clientid) self.assertIsNotNone(result) self.assertEqual("1", result)
def test_internal_map_plural(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() node.name = TemplateWordNode("PLURAL") node.append(TemplateWordNode("HORSE")) root.append(node) self.assertEqual(len(root.children), 1) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("HORSES", result)
def test_node(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() node.name = TemplateWordNode("COLOURS") node.append(TemplateWordNode("BLACK")) root.append(node) self.assertEqual(len(root.children), 1) self.bot.brain.maps._maps['COLOURS'] = {'BLACK': 'WHITE'} result = root.resolve(self.bot, self.clientid) self.assertIsNotNone(result) self.assertEqual("WHITE", result)
def test_node(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateMapNode() self.assertEqual("", node.resolve_children(self._client_context)) node.name = TemplateWordNode("COLOURS") node.append(TemplateWordNode("BLACK")) root.append(node) self.assertEqual(len(root.children), 1) self._client_context.brain.maps._maps['COLOURS'] = {'BLACK': 'WHITE'} result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("WHITE", result)
def parse_map_expression(self, expression, branch): map_node = TemplateMapNode() branch.children.append(map_node) name_found = False if 'name' in expression.attrib: node = TemplateNode() name_node = TemplateWordNode(expression.attrib['name']) node.append(name_node) name_found = True map_node.name = node self.parse_text(self.get_text_from_element(expression), map_node) for child in expression: if child.tag == 'name': node = TemplateNode() self.parse_text(self.get_text_from_element(child), node) for sub_child in child: self.parse_tag_expression(sub_child, node) self.parse_text(self.get_text_from_element(child), node) map_node.name = node name_found = True else: self.parse_tag_expression(child, map_node) self.parse_text(self.get_tail_from_element(child), map_node) if name_found is False: raise ParserException("Error, name not found", xml_element=expression)
def __init__(self): TemplateMapNode.__init__(self)
def __init__(self): TemplateMapNode.__init__(self)