def test__adjust_left_right_positions_finds_better_match2( searcher: FuzzySearcher, nlp: Language, adjust_example: Doc) -> None: """It optimizes the initial match to find a better match.""" query = nlp.make_doc("Kareem Abdul-Jabbar") match_values = {0: 33, 1: 39, 2: 41, 3: 33, 5: 37, 6: 59, 7: 84} assert searcher._adjust_left_right_positions( adjust_example, query, match_values, pos=7, fuzzy_func="simple", min_r2=70, ignore_case=True, flex=4, ) == (8, 11, 89)
def test__adjust_left_right_positions_with_no_flex(searcher: FuzzySearcher, nlp: Language) -> None: """It returns the intial match when flex value = 0.""" doc = nlp.make_doc("Patient was prescribed Zithroma tablets.") query = nlp.make_doc("zithromax") match_values = {3: 94} assert searcher._adjust_left_right_positions( doc, query, match_values, pos=3, fuzzy_func="simple", min_r2=70, ignore_case=True, flex=0, ) == (3, 4, 94)
def test__adjust_left_right_positions_finds_better_match( searcher: FuzzySearcher, nlp: Language) -> None: """It optimizes the initial match to find a better match.""" doc = nlp.make_doc("Patient was prescribed Zithromax tablets.") query = nlp.make_doc("zithromax tablet") match_values = {0: 30, 2: 50, 3: 97, 4: 50} assert searcher._adjust_left_right_positions( doc, query, match_values, pos=3, fuzzy_func="simple", min_r2=70, ignore_case=True, flex=2, ) == (3, 5, 97)