def test_should_be_deserializable(self): # Given parser_dict = { "config": { "max_queries": 42, "max_pattern_length": 43 }, "language_code": "en", "group_names_to_slot_names": { "hello_group": "hello_slot", "world_group": "world_slot" }, "patterns": { "intent_name": [ "(?P<hello_group>hello?)", "(?P<world_group>world$)" ] }, "slot_names_to_entities": { "hello_slot": "hello_entity", "world_slot": "world_entity" } } # When parser = DeterministicIntentParser.from_dict(parser_dict) # Then patterns = { "intent_name": [ "(?P<hello_group>hello?)", "(?P<world_group>world$)" ] } group_names_to_slot_names = { "hello_group": "hello_slot", "world_group": "world_slot" } slot_names_to_entities = { "hello_slot": "hello_entity", "world_slot": "world_entity" } config = DeterministicIntentParserConfig(max_queries=42, max_pattern_length=43) expected_parser = DeterministicIntentParser(config=config) expected_parser.language = LANGUAGE_EN expected_parser.group_names_to_slot_names = group_names_to_slot_names expected_parser.slot_names_to_entities = slot_names_to_entities expected_parser.patterns = patterns self.assertEqual(parser.to_dict(), expected_parser.to_dict())
def test_should_be_deserializable_before_fitting(self): # Given parser_dict = { "config": { "max_queries": 42, "max_pattern_length": 43 }, "language_code": None, "group_names_to_slot_names": None, "patterns": None, "slot_names_to_entities": None } # When parser = DeterministicIntentParser.from_dict(parser_dict) # Then config = DeterministicIntentParserConfig(max_queries=42, max_pattern_length=43) expected_parser = DeterministicIntentParser(config=config) self.assertEqual(parser.to_dict(), expected_parser.to_dict())