def setUp(self):
        self.agent = AgentSkillEmulator([WeatherSkill])
        self.test_phrase = "Weather Forecast in"

        import random
        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"
class AlarmSetterBot(unittest.TestCase):
    def setUp(self):
        self.agent = AgentSkillEmulator([AlarmSkill])
        import random
        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

        # actually setting the alarm phrase:
        self.test_phrase = "Я устанавливаю будильник на"

    def test_weather_active_questioning_date(self):
        # user_messages_sequence = ["КАКАЯ ПОГОДА будет ЗАВТРА?", "МОСКВА"]
        user_messages_sequence = [
            "Приветик, Роботишка", "УСТАНОВИ БУДИЛЬНИК",
            "Чак Норрис бы не задавал такие вопросы", "ЗАВТРА", "ДА"
        ]
        userdialog = self.agent.conjugate_autouser_with_agent(
            user_messages_sequence, self.user_id)
        self.assertIn(self.test_phrase, userdialog[7].text)

    def test_weather_prehistory_date(self):
        # user_messages_sequence = ["КАКАЯ ПОГОДА будет ЗАВТРА?", "МОСКВА"]
        user_messages_sequence = [
            "Приветик, Роботишка", "УСТАНОВИ БУДИЛЬНИК на завтра 16:00",
            "Чак Норрис бы не задавал такие вопросы", "ЗАВТРА", "ДА"
        ]
        userdialog = self.agent.conjugate_autouser_with_agent(
            user_messages_sequence, self.user_id)
        self.assertIn(self.test_phrase, userdialog[3].text)
    def setUp(self):
        self.agent = AgentSkillEmulator([AlarmSkill])
        import random
        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

        # actually setting the alarm phrase:
        self.test_phrase = "Я устанавливаю будильник на"
Exemple #4
0
class TestCurrencyConverterSkill(unittest.TestCase):
    """
    Set up basic skill which reacts with standard reaction
    """
    def setUp(self):
        self.agent = AgentSkillEmulator([CurrencyConverterSkill])
        import random
        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

    def test_simple_reaction(self):
        user_messages_sequence = [
            "Приветик, Роботишка", "покажи мне курсы валют", "Что дальше?",
            "Книги, викинги, динозавры и керлинг", "И что мне посоветуешь?"
        ]
        self.agent.conjugate_autouser_with_agent(user_messages_sequence,
                                                 self.user_id)
Exemple #5
0
class IntroductionWithRestartTest(unittest.TestCase):
    """
    Set up basic skill which reacts with standard reaction
    """
    def setUp(self):
        self.agent = AgentSkillEmulator([RootSkill, IntroductionSkill])
        import random
        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

    def test_simple_reaction(self):
        user_messages_sequence = ["ЗНАКОМСТВО, Приветик, Роботишка",
                                  "Чак Норрис бы не задавал такие вопросы", "Что дальше?", "Зови меня Валерой",
                                  "Книги, викинги, динозавры и керлинг", "/start", "ЗНАКОМСТВО, Приветик, Роботишка",
                                  "Зови меня Иванушкой", "я люблю гитару, керлинг и книги", "давай жги еще"
                                  ]
        self.agent.conjugate_autouser_with_agent(user_messages_sequence, self.user_id)
class WeatherBotTest(unittest.TestCase):

    # TODO make test where Slot (city) has default value
    # TODO make test where Slot (city) has default value and requires confirmation on silent value
    def setUp(self):
        self.agent = AgentSkillEmulator([WeatherSkill])
        self.test_phrase = "Weather Forecast in"

        import random
        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

    def test_weather_no_prehist(self):
        user_messages_sequence = ["КАКАЯ ПОГОДА будет?", "В москве", "ЗАВТРА"]
        userdialog = self.agent.conjugate_autouser_with_agent(
            user_messages_sequence, self.user_id)

        self.assertIn(self.test_phrase, userdialog[5].text)

    def test_weather_prehistory_city(self):
        user_messages_sequence = ["КАКАЯ ПОГОДА будет В МОСКВЕ?", "ЗАВТРА"]
        userdialog = self.agent.conjugate_autouser_with_agent(
            user_messages_sequence, self.user_id)

        self.assertIn(self.test_phrase, userdialog[3].text)

    def test_weather_prehistory_date(self):
        user_messages_sequence = ["КАКАЯ ПОГОДА будет ЗАВТРА?", "МОСКВА"]
        userdialog = self.agent.conjugate_autouser_with_agent(
            user_messages_sequence, self.user_id)

        self.assertEqual(userdialog[1].text, "В каком городе?")

        self.assertIn(self.test_phrase, userdialog[3].text)

    def test_weather_prehistory_date_and_city(self):
        user_messages_sequence = ["КАКАЯ ПОГОДА будет ЗАВТРА в Москве?"]
        userdialog = self.agent.conjugate_autouser_with_agent(
            user_messages_sequence, self.user_id)

        self.assertIn(self.test_phrase, userdialog[1].text)
Exemple #7
0
    def route_request(cls, user_id, utterance_str):
        global personal_agents_idx
        if user_id not in personal_agents_idx:
            # create new Agent for the user
            print("Create new USER!")

            # personal_agents_idx[user_id] = AgentSkillInitializer(
            #     [IntroductionSkill, BankConsulterSkill, WeatherSkill, AlarmSkill, RootSkill])
            # personal_agents_idx[user_id] = AgentSkillInitializer([IntroductionSkill, WeatherSkill])
            personal_agents_idx[user_id] = AgentSkillEmulator(
                [RootSkill, TranslatorSkill, IntroductionSkill])

        bot_resp = personal_agents_idx[user_id](utterance_str, user_id)

        return bot_resp
class TestECommerceSkill(unittest.TestCase):
    """
    Set up basic skill which reacts with standard reaction
    """

    def setUp(self):
        self.agent = AgentSkillEmulator([ECommerceSkill])
        import random

        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

    # def test_pay_by_cash(self):
    #     user_messages_sequence = ["найди мне желтые туфельки",
    #                               "покажи второй товар",
    #                               "Добавь первую туфельку в корзину",
    #                               "Добавь розовую туфельку в корзину",
    #                               "покажи корзину",
    #                               "давай перейдем к покупке",
    #                               "Доставка курьером",
    #                               "Иванов Иван Иванович",
    #                               "911",
    #                               "г. Урюписнк, улица Сапогова, 3, 14",
    #                               "Оплата кешем",
    #                               "Спасибо братюня"
    #     ]
    #     userdialog = self.agent.conjugate_autouser_with_agent(user_messages_sequence, self.user_id)
    #     # self.assertIn("Well, hello!", userdialog[1].text)

    def test_pay_by_card(self):
        user_messages_sequence = ["найди мне желтые туфельки",
                                  "покажи второй товар",
                                  "Добавь первую туфельку в корзину",
                                  "Добавь розовую туфельку в корзину",
                                  "покажи корзину",
                                  "давай перейдем к покупке",
                                  "Доставка курьером",
                                  "Иванов Иван Иванович",
                                  "911",
                                  "г. Урюписнк, улица Сапогова, 3, 14",
                                  "Оплата картой",
                                  "445566778899",
                                  "321",
                                  "Ivanov Ivan",
                                  "123456",
                                  "Спасибо братюня"]
        userdialog = self.agent.conjugate_autouser_with_agent(user_messages_sequence, self.user_id)
Exemple #9
0
class TestAIMLSkill(unittest.TestCase):
    """
    Set up basic skill which reacts with standard reaction
    """
    def setUp(self):
        self.agent = AgentSkillEmulator([AIMLSkill])
        import random

        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

    def test_simple_reaction(self):
        user_messages_sequence = [
            "Hello", "What s up?", "Tell me a joke", "Learn my pants are Red",
            "LET DISCUSS MOVIES", "Comedy movies are nice to watch",
            "I LIKE WATCHING COMEDY!", "Ok, goodbye"
        ]
        userdialog = self.agent.conjugate_autouser_with_agent(
            user_messages_sequence, self.user_id)
        self.assertIn("Well, hello!", userdialog[1].text)
    def setUp(self):
        self.agent = AgentSkillEmulator([ECommerceSkill])
        import random

        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"
Exemple #11
0
 def setUp(self):
     self.agent = AgentSkillEmulator([CurrencyConverterSkill])
     import random
     salt = random.randint(0, 10e6)
     self.user_id = f"perpperonipizza_{salt}"
Exemple #12
0
class TestCurrencyConverterSkill(unittest.TestCase):
    """
    Set up basic skill which reacts with standard reaction
    """
    def setUp(self):
        self.agent = AgentSkillEmulator([TranslatorSkill])
        import random

        salt = random.randint(0, 10e6)
        self.user_id = f"perpperonipizza_{salt}"

    def test_simple_reaction(self):
        user_messages_sequence = [
            "Приветик, Роботишка",
            # "Как переводится слово mother",
            # "Что означает слово butter",
            # "Как по английски сказать вероятность",
            # "Переведи фразу besame mucho",
            # "что значит anticipatory",
            # "как переводится фраза salut mon amie",
            # "как будет по русски have",
            # "как по русски будет to",
            "перевод слова дом на английский",
            "перевод с английского слово часть"
        ]
        self.agent.conjugate_autouser_with_agent(user_messages_sequence,
                                                 self.user_id)

    def test_bunch_of_requests(self):
        test_lines = """Как по английски будет мама
Что значит слово pedaço
Что означает bessame mucho
Как по португальски сказать я еду домой
Переведи на испанский слово дочь
Переведи на японский воображение
Переведи созо с японского
Как перевести salut ca va с французского
как переводится anticipatory
что значит фраза Per aspera ad astra
как будет по русски have
как по русски будет to
перевод слова дом на английский
вайлдберриз перевод слова с английского
перевод на английский слово человек
перевод слова на английский lives
перевод слова done с английского на русский
перевод с английского на русский слово got
перевод с английского на русский слово could
перевод с английского на русский слово does
перевод с английского на русский слово doing
перевод с английского слова better
перевод с английского слово best
перевод с английского на русский слово went
перевод с английского на русский слово going
перевод с английского на русский слово better
перевод с английского на русский слово best
перевод с английского слова good
перевод с английского слово часть
перевод английского слова where
перевод английского слова live
перевод слова с английского going
перевод слова читать на английский
перевод слова история на английский
перевод слова мало на английский
перевод слова these с английского на русский
перевод слова год на английский
игра слов перевод на английский
перевод с английского на русский слово good
перевод английской песни русскими словами
вайлдберриз перевод слова с английского на русский
перевод слова книга на английском
как на английском пишется слово перевод
что в переводе означает английское слово хук
перевод слова 8 на английский
транскрипция и перевод слова дети английский
самые распространенные английские слова с переводом
произношение английских слов слушать онлайн с переводом
английские слова из 4 букв с переводом
500 английских слов с переводом и транскрипцией
часто употребляемые английские слова с переводом"""
        splitted_lines = test_lines.splitlines()
        self.agent.conjugate_autouser_with_agent(splitted_lines, self.user_id)
Exemple #13
0
 def setUp(self):
     self.agent = AgentSkillEmulator([BankConsulterSkill])
Exemple #14
0
 def setUp(self):
     self.agent = AgentSkillEmulator([WeatherSkill])
     self.test_phrase = "Weather Forecast in"
Exemple #15
0
 def setUp(self):
     self.agent = AgentSkillEmulator([AlarmSkill])
     # actually setting the alarm phrase:
     self.test_phrase = "Я устанавливаю будильник на"
Exemple #16
0
 def setUp(self):
     self.agent = AgentSkillEmulator(
         [BankConsulterSkill, WeatherSkill, AlarmSkill])
Exemple #17
0
 def setUp(self):
     self.agent = AgentSkillEmulator([RootSkill, IntroductionSkill])
     import random
     salt = random.randint(0, 10e6)
     self.user_id = f"perpperonipizza_{salt}"