Exemplo n.º 1
0
    def test_ask_rephrase(self, trained_policy, default_domain):
        events = [ActionExecuted(ACTION_LISTEN_NAME),
                  user_uttered("greet", 0.2),
                  ActionExecuted(ACTION_DEFAULT_ASK_AFFIRMATION_NAME),
                  ActionExecuted(ACTION_LISTEN_NAME),
                  user_uttered('deny', 1)]

        next_action = self._get_next_action(trained_policy, events,
                                            default_domain)

        assert next_action == ACTION_DEFAULT_ASK_REPHRASE_NAME
Exemplo n.º 2
0
    def test_unknown_instead_affirmation(self, trained_policy, default_domain):
        events = [ActionExecuted(ACTION_LISTEN_NAME),
                  user_uttered("greet", 0.2),
                  ActionExecuted(ACTION_DEFAULT_ASK_AFFIRMATION_NAME),
                  ActionExecuted(ACTION_LISTEN_NAME),
                  user_uttered("greet", 0.2),
                  ]

        next_action = self._get_next_action(trained_policy, events,
                                            default_domain)

        assert next_action == ACTION_DEFAULT_FALLBACK_NAME
Exemplo n.º 3
0
    def test_ask_affirmation(self, trained_policy, default_domain):
        events = [ActionExecuted(ACTION_LISTEN_NAME), user_uttered("Hi", 0.2)]

        next_action = self._get_next_action(trained_policy, events,
                                            default_domain)

        assert next_action == ACTION_DEFAULT_ASK_AFFIRMATION_NAME
Exemplo n.º 4
0
    def test_affirm_rephrased_intent(self, trained_policy, default_domain):
        events = [
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered("greet", 0.2),
            ActionExecuted(ACTION_DEFAULT_ASK_AFFIRMATION_NAME),
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered(USER_INTENT_DENY, 1),
            ActionExecuted(ACTION_DEFAULT_ASK_REPHRASE_NAME),
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered("greet", 0.2),
        ]

        next_action = self._get_next_action(trained_policy, events,
                                            default_domain)

        assert next_action == ACTION_DEFAULT_ASK_AFFIRMATION_NAME
Exemplo n.º 5
0
    def test_successful_rephrasing(self, trained_policy,
                                   default_dispatcher_collecting,
                                   default_domain):
        events = [
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered("greet", 0.2),
            ActionExecuted(ACTION_DEFAULT_ASK_AFFIRMATION_NAME),
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered('deny', 1),
            ActionExecuted(ACTION_DEFAULT_ASK_REPHRASE_NAME),
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered("bye", 1),
        ]

        tracker = self._get_tracker_after_reverts(
            events, default_dispatcher_collecting, default_domain)

        assert 'bye' == tracker.latest_message.parse_data['intent']['name']
        assert tracker.export_stories() == "## sender\n* bye\n"
Exemplo n.º 6
0
def test_last_executed_has_not_name():
    events = [
        ActionExecuted('one'),
        user_uttered('two', 1),
        ActionExecuted(ACTION_LISTEN_NAME)
    ]

    tracker = get_tracker(events)

    assert tracker.last_executed_action_has('another') is False
Exemplo n.º 7
0
    def test_affirmation(self, default_dispatcher_collecting, default_domain):
        events = [ActionExecuted(ACTION_LISTEN_NAME),
                  user_uttered('greet', 1),
                  ActionExecuted('utter_hello'),
                  ActionExecuted(ACTION_LISTEN_NAME),
                  user_uttered('greet', 0.2),
                  ActionExecuted(ACTION_DEFAULT_ASK_AFFIRMATION_NAME),
                  ActionExecuted(ACTION_LISTEN_NAME),
                  user_uttered('greet', 1)]

        tracker = self._get_tracker_after_reverts(events,
                                                  default_dispatcher_collecting,
                                                  default_domain)

        assert 'greet' == tracker.latest_message.parse_data['intent']['name']
        assert tracker.export_stories() == ("## sender\n"
                                            "* greet\n"
                                            "    - utter_hello\n"
                                            "* greet\n")
Exemplo n.º 8
0
def test_get_last_event_for_with_skip():
    events = [
        ActionExecuted('one'),
        user_uttered('two', 1),
        ActionExecuted('three')
    ]

    tracker = get_tracker(events)

    assert (tracker.get_last_event_for(ActionExecuted,
                                       skip=1).action_name == 'one')
Exemplo n.º 9
0
def test_get_last_event_for_with_exclude():
    events = [
        ActionExecuted('one'),
        user_uttered('two', 1),
        ActionExecuted('three')
    ]

    tracker = get_tracker(events)

    assert (tracker.get_last_event_for(
        ActionExecuted,
        action_names_to_exclude=['three']).action_name == 'one')
Exemplo n.º 10
0
    def test_rephrasing_instead_affirmation(self, trained_policy,
                                            default_dispatcher_collecting,
                                            default_domain):
        events = [
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered("greet", 1),
            ActionExecuted("utter_hello"),
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered("greet", 0.2),
            ActionExecuted(ACTION_DEFAULT_ASK_AFFIRMATION_NAME),
            ActionExecuted(ACTION_LISTEN_NAME),
            user_uttered("bye", 1),
        ]

        tracker = self._get_tracker_after_reverts(
            events, default_dispatcher_collecting, default_domain)

        assert 'bye' == tracker.latest_message.parse_data['intent']['name']
        assert tracker.export_stories() == ("## sender\n"
                                            "* greet\n"
                                            "    - utter_hello\n"
                                            "* bye\n")
Exemplo n.º 11
0
def test_get_last_event_with_reverted():
    events = [ActionExecuted('one'), ActionReverted(), user_uttered('two', 1)]

    tracker = get_tracker(events)

    assert tracker.get_last_event_for(ActionExecuted) is None
Exemplo n.º 12
0
def test_get_last_event_for():
    events = [ActionExecuted('one'), user_uttered('two', 1)]

    tracker = get_tracker(events)

    assert tracker.get_last_event_for(ActionExecuted).action_name == 'one'