def test_save(self, mock_open, *mocks): # setup mock mock_file = setup_save_mock_open(mock_open) # Save and load a Model with custom parameters parameters = { "regex_patterns": { "PAD": [r"\W"], "UNKNOWN": [r"\w"] }, "encapsulators": { "start": r"(?<![\w.\$\%\-])", "end": r"(?:(?=(\b|[ ]))|(?=[^\w\%\$]([^\w]|$))|$)", }, "ignore_case": True, "default_label": "UNKNOWN", } label_mapping = { "PAD": 0, "CITY": 1, # SAME AS UNKNOWN "UNKNOWN": 1, "ADDRESS": 2, } model = RegexModel(label_mapping, parameters) # save and test model.save_to_disk(".") self.assertEqual( # model parameters '{"regex_patterns": {"PAD": ["\\\\W"], "UNKNOWN": ["\\\\w"]}, ' '"encapsulators": {"start": "(?<![\\\\w.\\\\$\\\\%\\\\-])", ' '"end": ' '"(?:(?=(\\\\b|[ ]))|(?=[^\\\\w\\\\%\\\\$]([^\\\\w]|$))|$)"}, ' '"ignore_case": true, "default_label": "UNKNOWN"}' # label mapping '{"PAD": 0, "CITY": 1, "UNKNOWN": 1, "ADDRESS": 2}', mock_file.getvalue(), ) # close mock StringIO.close(mock_file)
def test_save(self, mock_open, *mocks): # setup mock mock_file = setup_save_mock_open(mock_open) # Save and load a Model with custom parameters parameters = { 'regex_patterns': { 'PAD': [r'\W'], 'BACKGROUND': [r'\w'] }, 'encapsulators': { 'start': r'(?<![\w.\$\%\-])', 'end': r'(?:(?=(\b|[ ]))|(?=[^\w\%\$]([^\w]|$))|$)', }, 'ignore_case': True, 'default_label': 'BACKGROUND', } label_mapping = { 'PAD': 0, 'CITY': 1, # SAME AS BACKGROUND 'BACKGROUND': 1, 'ADDRESS': 2, } model = RegexModel(label_mapping, parameters) # save and test model.save_to_disk(".") self.assertEqual( # model parameters '{"regex_patterns": {"PAD": ["\\\\W"], "BACKGROUND": ["\\\\w"]}, ' '"encapsulators": {"start": "(?<![\\\\w.\\\\$\\\\%\\\\-])", ' '"end": ' '"(?:(?=(\\\\b|[ ]))|(?=[^\\\\w\\\\%\\\\$]([^\\\\w]|$))|$)"}, ' '"ignore_case": true, "default_label": "BACKGROUND"}' # label mapping '{"PAD": 0, "CITY": 1, "BACKGROUND": 1, "ADDRESS": 2}', mock_file.getvalue()) # close mock StringIO.close(mock_file)