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) == "*"
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)
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
def _get_fulfillment_component(): names_component = names.AlexaNamesComponent(MockExampleAgent) language_component = language.AlexaLanguageComponent(MockExampleAgent) return fulfillment.AlexaFulfillmentComponent(MockExampleAgent, names_component, language_component)
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]
def invalid_entities_raise_error(*args): ToyAgent = _get_toy_agent() ToyAgent.register(ToyInvalidIntent) with pytest.raises(ValueError): language.AlexaLanguageComponent(ToyAgent)