diff --git a/spacy/tests/matcher/test_matcher_api.py b/spacy/tests/matcher/test_matcher_api.py index b44b0c60e..09ab6c7dc 100644 --- a/spacy/tests/matcher/test_matcher_api.py +++ b/spacy/tests/matcher/test_matcher_api.py @@ -225,18 +225,24 @@ def test_matcher_match_fuzzyn_various_edits(en_vocab, fuzzyn): assert len(matcher(doc)) == fuzzyn + 1 +@pytest.mark.parametrize("greedy", ["FIRST", "LONGEST"]) @pytest.mark.parametrize("set_op", ["IN", "NOT_IN"]) -def test_matcher_match_fuzzyn_set_op_longest(en_vocab, set_op): +def test_matcher_match_fuzzyn_set_op_longest(en_vocab, greedy, set_op): rules = { "GoogleNow": [[{"ORTH": {"FUZZY2": {set_op: ["Google", "Now"]}}, "OP": "+"}]] } matcher = Matcher(en_vocab) for key, patterns in rules.items(): - matcher.add(key, patterns, greedy="LONGEST") + matcher.add(key, patterns, greedy=greedy) words = ["They", "like", "Goggle", "Noo"] doc = Doc(matcher.vocab, words=words) - assert len(matcher(doc)) == 1 + spans = matcher(doc, as_spans=True) + assert len(spans) == 1 + if set_op == "IN": + assert spans[0].text == "Goggle Noo" + else: + assert spans[0].text == "They like" def test_matcher_match_fuzzyn_set_multiple(en_vocab):