def test_non_duplicates(self): target = Target({}) actual = target.unique_non_detections( [ { 'value': 'citrus', 'start': 0, 'skip_word': False, 'stop_word': False, 'stem': 'citrus', 'end': 5, 'use': True, 'pos': 'NN' }, { 'value': 'heel', 'start': 5, 'skip_word': False, 'stop_word': False, 'stem': 'heel', 'end': 10, 'use': True, 'pos': 'NN' } ] ) self.assertSetEqual( set(actual), set(['heel', 'citrus']) )
def test_duplicates(self): target = Target({}) actual = target.unique_non_detections([{ 'value': 'citrus', 'start': 0, 'skip_word': False, 'stop_word': False, 'stem': 'citrus', 'end': 5, 'use': True, 'pos': 'NN' }, { 'value': 'heel', 'start': 5, 'skip_word': False, 'stop_word': False, 'stem': 'heel', 'end': 10, 'use': True, 'pos': 'NN' }, { 'value': 'citrus', 'start': 15, 'skip_word': False, 'stop_word': False, 'stem': 'citrus', 'end': 20, 'use': True, 'pos': 'NN' }]) self.assertSetEqual(set(actual), set(['heel', 'citrus']))
def test_empty_can_not_match(self): target = Target({}) actual = target.unique_non_detections([]) self.assertListEqual( actual, [] )
def test_no_autocorrection(self): target = Target({}) target.find_matches = Mock() target.find_matches.return_value = { "found": "find_matches_found", "can_not_match": "find_matches_can_not_match" } target.autocorrect_query = Mock() target.autocorrect_query.return_value = None target.key_matches = Mock(return_value="key_matches:return_value") target.unique_non_detections = Mock() target.unique_non_detections.return_value = "unique_non_detections:return_value" target.format_found_entities = Mock() target.format_found_entities.return_value = "formated_found_entities" actual = target.detect_entities( "vocab", { "tokens": "preperation_result:tokens", "used_query": "preperation_result:used_query" } ) self.assertEqual(1, target.find_matches.call_count) self.assertEqual(3, target.find_matches.call_args_list[0][0][0]) self.assertEqual("preperation_result:tokens", target.find_matches.call_args_list[0][0][1]) self.assertEqual( target.find_matches.call_args_list[0][0][2], 'vocab' ) self.assertEqual(1, target.autocorrect_query.call_count) self.assertEqual('preperation_result:used_query', target.autocorrect_query.call_args_list[0][0][0]) self.assertEqual('formated_found_entities', target.autocorrect_query.call_args_list[0][0][1]) self.assertEqual(1, target.key_matches.call_count) self.assertEqual('formated_found_entities', target.key_matches.call_args_list[0][0][0]) self.assertEqual(1, target.unique_non_detections.call_count) self.assertEqual('find_matches_can_not_match', target.unique_non_detections.call_args_list[0][0][0]) self.assertDictEqual( { 'detections': 'key_matches:return_value', 'non_detections': 'unique_non_detections:return_value' }, actual )
def test_autocorrection(self): target = Target({}) target.find_matches = Mock() target.find_matches.return_value = { "found": "find_matches_found", "can_not_match": "find_matches_can_not_match" } target.autocorrect_query = Mock() target.autocorrect_query.return_value = "autocorrected_query_new_value" target.key_matches = Mock(return_value="key_matches:return_value") target.unique_non_detections = Mock() target.unique_non_detections.return_value = "unique_non_detections:return_value" target.format_found_entities = Mock() target.format_found_entities.return_value = "formated_found_entities" actual = target.detect_entities( "vocab", { "tokens": "preperation_result:tokens", "used_query": "preperation_result:used_query" }) self.assertEqual(1, target.find_matches.call_count) self.assertEqual(3, target.find_matches.call_args_list[0][0][0]) self.assertEqual("preperation_result:tokens", target.find_matches.call_args_list[0][0][1]) self.assertEqual('vocab', target.find_matches.call_args_list[0][0][2]) self.assertEqual(target.autocorrect_query.call_count, 1) self.assertEqual(target.autocorrect_query.call_args_list[0][0][0], 'preperation_result:used_query') self.assertEqual(target.autocorrect_query.call_args_list[0][0][1], 'formated_found_entities') self.assertEqual(target.key_matches.call_count, 1) self.assertEqual(target.key_matches.call_args_list[0][0][0], 'formated_found_entities') self.assertEqual(target.unique_non_detections.call_count, 1) self.assertEqual(target.unique_non_detections.call_args_list[0][0][0], 'find_matches_can_not_match') self.assertDictEqual( actual, { 'autocorrected_query': 'autocorrected_query_new_value', 'detections': 'key_matches:return_value', 'non_detections': 'unique_non_detections:return_value' })
def test_empty_can_not_match(self): target = Target({}) actual = target.unique_non_detections([]) self.assertListEqual(actual, [])