Beispiel #1
0
    def test_equals_property(self):
        bot7 = PatternBotNode({"property": "test"}, "bot1")
        bot8 = PatternBotNode({"property": "test"}, "bot1")
        bot9 = PatternBotNode({"property": "test"}, "bot1", userid="testid")

        self.assertTrue(bot7.equivalent(bot8))
        self.assertFalse(bot7.equivalent(bot9))
Beispiel #2
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))
Beispiel #3
0
    def test_equals_name(self):
        bot4 = PatternBotNode({"name": "test"}, "bot1")
        bot5 = PatternBotNode({"name": "test"}, "bot1")
        bot6 = PatternBotNode({"name": "test"}, "bot1", userid="testid")

        self.assertTrue(bot4.equivalent(bot5))
        self.assertFalse(bot4.equivalent(bot6))
Beispiel #4
0
    def test_equals_text(self):
        bot1 = PatternBotNode({}, "bot1")
        bot2 = PatternBotNode({}, "bot1")
        bot3 = PatternBotNode({}, "bot1", userid="testid")

        self.assertTrue(bot1.equivalent(bot2))
        self.assertFalse(bot1.equivalent(bot3))
Beispiel #5
0
    def test_init(self):

        self.bot.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("value1 value2")

        result = node.equals(self.bot, "testid", sentence, 0)
        self.assertTrue(result.matched)
        self.assertEquals(0, result.word_no)
        result = node.equals(self.bot, "testid", sentence, 1)
        self.assertFalse(result.matched)
        self.assertEquals(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]")
Beispiel #6
0
    def test_equivalent(self):
        node = PatternBotNode({}, "test1")
        self.assertIsNotNone(node)

        self.assertTrue(node.equivalent(PatternBotNode([], "test1")))
        self.assertFalse(node.equivalent(PatternBotNode([], "test2")))
        self.assertFalse(node.equivalent(PatternWordNode("test2")))
Beispiel #7
0
    def test_init(self):

        self.bot.brain.properties.set_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")))

        self.assertTrue(node.equals(self.bot, "testid", "value1"))
        self.assertFalse(node.equals(self.bot, "testid", "value2"))

        self.assertEqual(
            node.to_string(),
            "BOT [P(0)^(0)#(0)C(0)_(0)*(0)To(0)Th(0)Te(0)] property=[test1]")
Beispiel #8
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.assertIsNotNone(node.children)
        self.assertFalse(node.has_children())

        self.assertTrue(node.equivalent(PatternBotNode("test1")))
        self.assertFalse(node.is_root())
        self.assertEqual(
            node.to_string(),
            "BOT [P(0)^(0)#(0)C(0)_(0)*(0)To(0)Th(0)Te(0)] property=[test1]")