Пример #1
0
    def test_init(self):

        self._client_context.brain.properties.add_property("test1", "value1")

        node = PatternBotNode({}, "test1")
        self.assertIsNotNone(node)

        self.assertFalse(node.is_root())
        self.assertFalse(node.is_priority())
        self.assertFalse(node.is_wildcard())
        self.assertFalse(node.is_zero_or_more())
        self.assertFalse(node.is_one_or_more())
        self.assertFalse(node.is_set())
        self.assertTrue(node.is_bot())
        self.assertFalse(node.is_template())
        self.assertFalse(node.is_that())
        self.assertFalse(node.is_topic())
        self.assertFalse(node.is_wildcard())

        self.assertTrue(node.equivalent(PatternBotNode([], "test1")))
        self.assertFalse(node.equivalent(PatternBotNode([], "test2")))

        sentence = Sentence(self._client_context.brain.tokenizer, "value1 value2")

        result = node.equals(self._client_context, sentence, 0)
        self.assertTrue(result.matched)
        self.assertEqual(0, result.word_no)

        result = node.equals(self._client_context, sentence, 1)
        self.assertFalse(result.matched)
        self.assertEqual(1, result.word_no)

        self.assertEqual(node.to_string(), "BOT [*] [P(0)^(0)#(0)C(0)_(0)*(0)To(0)Th(0)Te(0)] property=[test1]")
        self.assertEqual('<bot property="test1">\n</bot>', node.to_xml(self._client_context))
Пример #2
0
    def test_init(self):
        node = PatternBotNode({}, "test1")
        self.assertIsNotNone(node)

        self.assertFalse(node.is_root())
        self.assertFalse(node.is_priority())
        self.assertFalse(node.is_wildcard())
        self.assertFalse(node.is_zero_or_more())
        self.assertFalse(node.is_one_or_more())
        self.assertFalse(node.is_set())
        self.assertTrue(node.is_bot())
        self.assertFalse(node.is_template())
        self.assertFalse(node.is_that())
        self.assertFalse(node.is_topic())
        self.assertFalse(node.is_wildcard())
        self.assertEqual(
            node.to_string(),
            "BOT [*] [P(0)^(0)#(0)C(0)_(0)*(0)To(0)Th(0)Te(0)] property=[test1]"
        )
        self.assertEqual('<bot property="test1">\n</bot>',
                         node.to_xml(self._client_context))
Пример #3
0
    def test_to_xml(self):
        bot1 = PatternBotNode({}, "bot1")
        self.assertEqual('<bot property="bot1">\n</bot>', bot1.to_xml(self._client_context, include_user=False))
        self.assertEqual('<bot userid="*" property="bot1">\n</bot>', bot1.to_xml(self._client_context, include_user=True))

        bot2 = PatternBotNode({"name": "test"}, "bot2")
        self.assertEqual('<bot property="test">\n</bot>', bot2.to_xml(self._client_context, include_user=False))
        self.assertEqual('<bot userid="*" property="test">\n</bot>', bot2.to_xml(self._client_context, include_user=True))

        bot3 = PatternBotNode({"property": "test"}, "bot3")
        self.assertEqual('<bot property="test">\n</bot>', bot3.to_xml(self._client_context, include_user=False))
        self.assertEqual('<bot userid="*" property="test">\n</bot>', bot3.to_xml(self._client_context, include_user=True))

        bot4 = PatternBotNode({}, "bot4", userid="testid")
        self.assertEqual('<bot property="bot4">\n</bot>', bot4.to_xml(self._client_context, include_user=False))
        self.assertEqual('<bot userid="testid" property="bot4">\n</bot>', bot4.to_xml(self._client_context, include_user=True))

        bot5 = PatternBotNode({"name": "test"}, "bot5", userid="testid")
        self.assertEqual('<bot property="test">\n</bot>', bot5.to_xml(self._client_context, include_user=False))
        self.assertEqual('<bot userid="testid" property="test">\n</bot>', bot5.to_xml(self._client_context, include_user=True))

        bot6 = PatternBotNode({"property": "test"}, "bot6", userid="testid")
        self.assertEqual('<bot property="test">\n</bot>', bot6.to_xml(self._client_context, include_user=False))
        self.assertEqual('<bot userid="testid" property="test">\n</bot>', bot6.to_xml(self._client_context, include_user=True))