def __init__(self, req_data: Dict): self.text = req_data.get("text") self.language = req_data.get("language") self.entities = req_data.get("entities") self.correlation_id = req_data.get("correlation_id") self.score_threshold = req_data.get("score_threshold") self.return_decision_process = req_data.get("return_decision_process") ad_hoc_recognizers = req_data.get("ad_hoc_recognizers") self.ad_hoc_recognizers = [] if ad_hoc_recognizers: self.ad_hoc_recognizers = [ PatternRecognizer.from_dict(rec) for rec in ad_hoc_recognizers ]
def test_from_dict(self): json = {'supported_entity': 'ENTITY_1', 'supported_language': 'en', 'patterns': [{'name': 'p1', 'score': 0.5, 'regex': '([0-9]{1,9})'}], 'context': ['w1', 'w2', 'w3'], 'version': "1.0"} new_recognizer = PatternRecognizer.from_dict(json) ### consider refactoring assertions assert new_recognizer.supported_entities == ['ENTITY_1'] assert new_recognizer.supported_language == 'en' assert new_recognizer.patterns[0].name == 'p1' assert new_recognizer.patterns[0].score == 0.5 assert new_recognizer.patterns[0].regex == '([0-9]{1,9})' assert new_recognizer.context == ['w1', 'w2', 'w3'] assert new_recognizer.version == "1.0"
def test_from_dict_returns_instance(self): pattern1_dict = {'name': 'p1', 'score': 0.5, 'regex': '([0-9]{1,9})'} pattern2_dict = {'name': 'p2', 'score': 0.8, 'regex': '([0-9]{1,9})'} ent_rec_dict = {"supported_entity": "A", "supported_language": "he", "patterns": [pattern1_dict, pattern2_dict] } pattern_recognizer = PatternRecognizer.from_dict(ent_rec_dict) assert pattern_recognizer.supported_entities == ["A"] assert pattern_recognizer.supported_language == "he" assert pattern_recognizer.version == "0.0.1" assert pattern_recognizer.patterns[0].name == "p1" assert pattern_recognizer.patterns[0].score == 0.5 assert pattern_recognizer.patterns[0].regex == '([0-9]{1,9})' assert pattern_recognizer.patterns[1].name == "p2" assert pattern_recognizer.patterns[1].score == 0.8 assert pattern_recognizer.patterns[1].regex == '([0-9]{1,9})'
def test_from_dict_returns_instance(): pattern1_dict = {"name": "p1", "score": 0.5, "regex": "([0-9]{1,9})"} pattern2_dict = {"name": "p2", "score": 0.8, "regex": "([0-9]{1,9})"} ent_rec_dict = { "supported_entity": "A", "supported_language": "he", "patterns": [pattern1_dict, pattern2_dict], } pattern_recognizer = PatternRecognizer.from_dict(ent_rec_dict) assert pattern_recognizer.supported_entities == ["A"] assert pattern_recognizer.supported_language == "he" assert pattern_recognizer.version == "0.0.1" assert pattern_recognizer.patterns[0].name == "p1" assert pattern_recognizer.patterns[0].score == 0.5 assert pattern_recognizer.patterns[0].regex == "([0-9]{1,9})" assert pattern_recognizer.patterns[1].name == "p2" assert pattern_recognizer.patterns[1].score == 0.8 assert pattern_recognizer.patterns[1].regex == "([0-9]{1,9})"
def test_from_dict(): json = { "supported_entity": "ENTITY_1", "supported_language": "en", "patterns": [{ "name": "p1", "score": 0.5, "regex": "([0-9]{1,9})" }], "context": ["w1", "w2", "w3"], "version": "1.0", } new_recognizer = PatternRecognizer.from_dict(json) # consider refactoring assertions assert new_recognizer.supported_entities == ["ENTITY_1"] assert new_recognizer.supported_language == "en" assert new_recognizer.patterns[0].name == "p1" assert new_recognizer.patterns[0].score == 0.5 assert new_recognizer.patterns[0].regex == "([0-9]{1,9})" assert new_recognizer.context == ["w1", "w2", "w3"] assert new_recognizer.version == "1.0"