Example #1
0
def test_id_to_value(*args):
    ToyAgent = _get_toy_agent()
    ToyAgent.register(ToyIntent)

    lc = language.AlexaLanguageComponent(ToyAgent)

    assert len(lc._entry_id_to_value[LanguageCode.ENGLISH]) == len(ToyEntity.__entity_language_data__[LanguageCode.ENGLISH])
    assert len(lc._entry_id_to_value[LanguageCode.ITALIAN]) == len(ToyEntity.__entity_language_data__[LanguageCode.ITALIAN])
    assert lc.alexa_entry_id_to_value("ToyEntity-multiplication", LanguageCode.ENGLISH) == "*"
    assert lc.alexa_entry_id_to_value("ToyEntity-moltiplicazione", LanguageCode.ITALIAN) == "*"
Example #2
0
 def __init__(self,
              agent_cls: type(Agent),
              invocation_name: str,
              default_session: str = None,
              default_language: str = "en"):
     super().__init__(agent_cls,
                      default_session=default_session,
                      default_language=default_language)
     self.invocation_name = invocation_name  # TODO: model constraints
     self.names_component = names.AlexaNamesComponent(agent_cls)
     self.language_component = language.AlexaLanguageComponent(agent_cls)
     self.fulfillment_component = fulfillment.AlexaFulfillmentComponent(
         agent_cls, self.names_component, self.language_component)
     self.export_component = export.AlexaExportComponent(
         agent_cls, self.names_component, self.language_component,
         invocation_name)
Example #3
0
def test_language_data_removes_invalid(*args):
    ToyAgent = _get_toy_agent()
    ToyAgent.register(ToyIntent)
    lc = language.AlexaLanguageComponent(ToyAgent)
    language_data = lc.entity_language_data(ToyEntity)

    expected_english = [
        language.AlexaEntityEntry(
            value="*", synonyms=["multiplication", "asterisk"],
            alexa_value="multiplication", alexa_synonyms=["asterisk"]
        ),
        language.AlexaEntityEntry(
            value="plus", synonyms=["+"],
            alexa_value="plus", alexa_synonyms=[]
        ),
        language.AlexaEntityEntry(
            value="$$$", synonyms=["cash", "money"],
            alexa_value="cash", alexa_synonyms=["money"]
        ),
    ]
    assert language_data[LanguageCode.ENGLISH] == expected_english

    expected_italian = [
        language.AlexaEntityEntry(
            value="*", synonyms=["moltiplicazione", "per"],
            alexa_value="moltiplicazione", alexa_synonyms=["per"]
        ),
        language.AlexaEntityEntry(
            value="addizione", synonyms=['+', "piĆ¹"],
            alexa_value="addizione", alexa_synonyms=[]
        ),
        language.AlexaEntityEntry(
            value="$$$", synonyms=["cash", "soldi"],
            alexa_value="cash", alexa_synonyms=["soldi"]
        ),
    ]
    assert language_data[LanguageCode.ITALIAN] == expected_italian
Example #4
0
def _get_fulfillment_component():
    names_component = names.AlexaNamesComponent(MockExampleAgent)
    language_component = language.AlexaLanguageComponent(MockExampleAgent)
    return fulfillment.AlexaFulfillmentComponent(MockExampleAgent,
                                                 names_component,
                                                 language_component)
Example #5
0
def test_language_data_only_one_language(*args):
    ToyAgent = _get_toy_agent()
    ToyAgent.register(ToyIntent)
    lc = language.AlexaLanguageComponent(ToyAgent)
    language_data = lc.entity_language_data(ToyEntity, LanguageCode.ITALIAN)
    assert list(language_data.keys()) == [LanguageCode.ITALIAN]
Example #6
0
def invalid_entities_raise_error(*args):
    ToyAgent = _get_toy_agent()
    ToyAgent.register(ToyInvalidIntent)

    with pytest.raises(ValueError):
        language.AlexaLanguageComponent(ToyAgent)