mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-25 17:36:30 +03:00
cfffdba7b1
* Implement new API for {Phrase}Matcher.add (backwards-compatible) * Update docs * Also update DependencyMatcher.add * Update internals * Rewrite tests to use new API * Add basic check for common mistake Raise error with suggestion if user likely passed in a pattern instead of a list of patterns * Fix typo [ci skip]
23 lines
712 B
Python
23 lines
712 B
Python
# coding: utf8
|
|
from __future__ import unicode_literals
|
|
|
|
from spacy.matcher import PhraseMatcher
|
|
from spacy.tokens import Doc
|
|
|
|
|
|
def test_issue3972(en_vocab):
|
|
"""Test that the PhraseMatcher returns duplicates for duplicate match IDs.
|
|
"""
|
|
matcher = PhraseMatcher(en_vocab)
|
|
matcher.add("A", [Doc(en_vocab, words=["New", "York"])])
|
|
matcher.add("B", [Doc(en_vocab, words=["New", "York"])])
|
|
doc = Doc(en_vocab, words=["I", "live", "in", "New", "York"])
|
|
matches = matcher(doc)
|
|
|
|
assert len(matches) == 2
|
|
|
|
# We should have a match for each of the two rules
|
|
found_ids = [en_vocab.strings[ent_id] for (ent_id, _, _) in matches]
|
|
assert "A" in found_ids
|
|
assert "B" in found_ids
|