Пример #1
0
class MultiLogicAdapterTestCase(ChatBotTestCase):

    def setUp(self):
        super(MultiLogicAdapterTestCase, self).setUp()
        self.adapter = MultiLogicAdapter()
        self.adapter.set_chatbot(self.chatbot)

    def test_sub_adapter_agreement(self):
        """
        In the case that multiple adapters agree on a given
        statement, this statement should be returned with the
        highest confidence available from these matching options.
        """
        self.adapter.add_adapter(TestAdapterA())
        self.adapter.add_adapter(TestAdapterB())
        self.adapter.add_adapter(TestAdapterC())

        confidence, statement = self.adapter.process(Statement('Howdy!'))

        self.assertEqual(confidence, 0.5)
        self.assertEqual(statement, 'Good morning.')

    def test_get_greatest_confidence(self):
        statement = 'Hello'
        options = [
            (0.50, 'Hello'),
            (0.85, 'Hello'),
            (0.42, 'Hello')
        ]
        value = self.adapter.get_greatest_confidence(statement, options)

        self.assertEqual(value, 0.85)

    def test_add_adapter(self):
        sub_adapter = TestAdapterA()
        adapter_count_before = len(self.adapter.adapters)
        self.adapter.add_adapter(sub_adapter)
        adapter_count_after = len(self.adapter.adapters)

        self.assertEqual(adapter_count_after, adapter_count_before + 1)

    def test_set_chatbot(self):
        adapter = MultiLogicAdapter()
        adapter.set_chatbot(self.chatbot)

        # Test that the multi adapter has acccess to the chat bot
        self.assertEqual(adapter.chatbot, self.chatbot)

        # Test that all sub adapters have the chatbot set
        for sub_adapter in adapter.adapters:
            self.assertEqual(sub_adapter.chatbot, self.chatbot)
class MultiLogicAdapterTestCase(ChatBotTestCase):

    def setUp(self):
        super(MultiLogicAdapterTestCase, self).setUp()
        self.adapter = MultiLogicAdapter()
        self.adapter.set_chatbot(self.chatbot)

    def test_sub_adapter_agreement(self):
        """
        In the case that multiple adapters agree on a given
        statement, this statement should be returned with the
        highest confidence available from these matching options.
        """
        self.adapter.add_adapter('tests.logic_adapter_tests.test_multi_adapter.TestAdapterA')
        self.adapter.add_adapter('tests.logic_adapter_tests.test_multi_adapter.TestAdapterB')
        self.adapter.add_adapter('tests.logic_adapter_tests.test_multi_adapter.TestAdapterC')

        confidence, statement = self.adapter.process(Statement('Howdy!'))

        self.assertEqual(confidence, 0.5)
        self.assertEqual(statement.confidence, 0.5)
        self.assertEqual(statement, 'Good morning.')

    def test_get_greatest_confidence(self):
        statement = 'Hello'
        options = [
            (0.50, 'Hello'),
            (0.85, 'Hello'),
            (0.42, 'Hello')
        ]
        value = self.adapter.get_greatest_confidence(statement, options)

        self.assertEqual(value, 0.85)

    def test_add_adapter(self):
        adapter_count_before = len(self.adapter.adapters)
        self.adapter.add_adapter('tests.logic_adapter_tests.test_multi_adapter.TestAdapterA')
        adapter_count_after = len(self.adapter.adapters)

        self.assertEqual(adapter_count_after, adapter_count_before + 1)

    def test_set_chatbot(self):
        adapter = MultiLogicAdapter()
        adapter.set_chatbot(self.chatbot)

        # Test that the multi adapter has acccess to the chat bot
        self.assertEqual(adapter.chatbot, self.chatbot)

        # Test that all sub adapters have the chatbot set
        for sub_adapter in adapter.adapters:
            self.assertEqual(sub_adapter.chatbot, self.chatbot)
class MultiLogicAdapterTestCase(ChatBotTestCase):
    def setUp(self):
        super(MultiLogicAdapterTestCase, self).setUp()
        self.adapter = MultiLogicAdapter()
        self.adapter.set_chatbot(self.chatbot)

    def test_sub_adapter_agreement(self):
        """
        In the case that multiple adapters agree on a given
        statement, this statement should be returned with the
        highest confidence available from these matching options.
        """
        self.adapter.add_adapter(
            'tests.logic_adapter_tests.test_multi_adapter.TestAdapterA')
        self.adapter.add_adapter(
            'tests.logic_adapter_tests.test_multi_adapter.TestAdapterB')
        self.adapter.add_adapter(
            'tests.logic_adapter_tests.test_multi_adapter.TestAdapterC')

        statement = self.adapter.process(Statement('Howdy!'))

        self.assertEqual(statement.confidence, 0.5)
        self.assertEqual(statement, 'Good morning.')

    def test_get_greatest_confidence(self):
        statement = 'Hello'
        options = [(0.50, 'Hello'), (0.85, 'Hello'), (0.42, 'Hello')]
        value = self.adapter.get_greatest_confidence(statement, options)

        self.assertEqual(value, 0.85)

    def test_add_adapter(self):
        adapter_count_before = len(self.adapter.adapters)
        self.adapter.add_adapter(
            'tests.logic_adapter_tests.test_multi_adapter.TestAdapterA')
        adapter_count_after = len(self.adapter.adapters)

        self.assertEqual(adapter_count_after, adapter_count_before + 1)

    def test_get_adapters(self):
        """
        TODO
        """
        import unittest
        raise unittest.SkipTest('This test needs to be written.')

    def test_get_initialization_functions(self):
        """
        TODO
        """
        import unittest
        raise unittest.SkipTest('This test needs to be written.')

    def test_insert_logic_adapter(self):
        """
        TODO
        """
        import unittest
        raise unittest.SkipTest('This test needs to be written.')

    def test_remove_logic_adapter(self):
        """
        TODO
        """
        import unittest
        raise unittest.SkipTest('This test needs to be written.')

    def test_set_chatbot(self):
        adapter = MultiLogicAdapter()
        adapter.set_chatbot(self.chatbot)

        # Test that the multi adapter has acccess to the chat bot
        self.assertEqual(adapter.chatbot, self.chatbot)

        # Test that all sub adapters have the chatbot set
        for sub_adapter in adapter.adapters:
            self.assertEqual(sub_adapter.chatbot, self.chatbot)