def test_5(self, mock_get_app_config): patch_get_app_config(mock_get_app_config) expected = 'дефолтный тунец' items = { 'cases': { 'лосось': [ 'хорошая рыба' ], 'килька': [ 'консервы' ] }, 'default': 'дефолтный тунец' } text_preprocessing_result = PicklableMock() text_preprocessing_result.tokenized_elements_list_pymorphy = [ {'lemma': 'мой'}, {'lemma': 'дядя'}, {'lemma': 'самый'}, {'lemma': 'честный'}, {'lemma': 'правило'}, ] filler = IntersectionFieldFiller(items) result = filler.extract(text_preprocessing_result, None) self.assertEqual(expected, result)
def test_2(self, mock_get_app_config): patch_get_app_config(mock_get_app_config) items = { 'strict': True, 'cases': { 'лосось': [ 'хорошая рыба' ], 'килька': [ 'консервы' ] } } text_preprocessing_result = PicklableMock() text_preprocessing_result.tokenized_elements_list_pymorphy = [ {'lemma': 'весь'}, {'lemma': 'хороший'}, {'lemma': 'и'}, {'lemma': 'спасибо'}, {'lemma': 'за'}, {'lemma': 'рыба'}, ] filler = IntersectionFieldFiller(items) result = filler.extract(text_preprocessing_result, None) self.assertIsNone(result)
def test_4(self, mock_get_app_config): patch_get_app_config(mock_get_app_config) items = {} text_preprocessing_result = PicklableMock() text_preprocessing_result.tokenized_elements_list_pymorphy = [] filler = IntersectionFieldFiller(items) result = filler.extract(text_preprocessing_result, None) self.assertIsNone(result)
def test_intersection_requirement_true(self, mock_get_app_config): patch_get_app_config(mock_get_app_config) user = PicklableMock() requirement = IntersectionRequirement( {"phrases": [ 'да', 'давай', 'хочу', ]}) text_normalization_result = PicklableMock() text_normalization_result.tokenized_elements_list_pymorphy = [ { 'lemma': 'я' }, { 'lemma': 'хотеть' }, ] self.assertTrue(requirement.check(text_normalization_result, user))