def test_typevar_no_value(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateGetNode() node.name = TemplateWordNode("name") node.property_type = "var" node.append(TemplateWordNode("Fred")) self.assertIsNotNone(node) root.append(node) self.assertEqual(len(root.children), 1) self._client_context.brain.properties.add_property( "default-get", "unknown") conversation = self._client_context.bot.get_conversation( self._client_context) self.assertIsNotNone(conversation) question = Question.create_from_text( self._client_context, "Hello", self._client_context.bot.sentence_splitter) conversation.record_dialog(question) result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("unknown", result)
def test_typevar_get(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateGetNode() node.name = TemplateWordNode("name") node.property_type = "var" node.append(TemplateWordNode("Fred")) self.assertIsNotNone(node) root.append(node) self.assertEqual(len(root.children), 1) conversation = self._client_context.bot.get_conversation( self._client_context) self.assertIsNotNone(conversation) question = Question.create_from_text( self._client_context, "Hello", self._client_context.bot.sentence_splitter) conversation.record_dialog(question) self.assertIsNotNone(conversation.current_question()) question.set_property("name", "keith") result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("keith", result)
def test_to_xml_typevar_get(self): root = TemplateNode() node = TemplateGetNode() node.name = TemplateWordNode("name") node.property_type = "var" 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><get var="name" /></template>', xml_str)
def test_typename_no_name(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateGetNode() node.append(TemplateWordNode("Fred")) node.property_type = "name" self.assertIsNotNone(node) self.assertEqual("[GET [name] - None]", node.to_string()) root.append(node) self.assertEqual(len(root.children), 1) self._client_context.brain.properties.add_property( "default-get", "unknown") with self.assertRaises(Exception): root.resolve(self._client_context)
def test_unknown_from_config(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateGetNode() node.name = TemplateWordNode("name") node.property_type = "name" node.append(TemplateWordNode("Fred")) self.assertIsNotNone(node) self.assertEqual("[GET [name] - [WORD]name]", node.to_string()) root.append(node) self.assertEqual(len(root.children), 1) self._client_context.bot.brain.configuration.defaults._default_get = None result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("unknown", result)
def test_typename_get_no_value(self): root = TemplateNode() self.assertIsNotNone(root) self.assertIsNotNone(root.children) self.assertEqual(len(root.children), 0) node = TemplateGetNode() node.name = TemplateWordNode("name") node.property_type = "name" node.append(TemplateWordNode("Fred")) self.assertIsNotNone(node) self.assertEqual("[GET [name] - [WORD]name]", node.to_string()) root.append(node) self.assertEqual(len(root.children), 1) self._client_context.brain.properties.add_property( "default-get", "unknown") result = root.resolve(self._client_context) self.assertIsNotNone(result) self.assertEqual("unknown", result)