add unit test

This commit is contained in:
svlandeg 2020-02-12 12:00:13 +01:00
parent ecbb9c4b9f
commit 05dedaa2cf
2 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1,40 @@
# coding: utf8
from __future__ import unicode_literals
import spacy
from spacy.tokens import Span, Doc
class CustomPipe:
name = "my_pipe"
def __init__(self):
Span.set_extension("my_ext", getter=self._get_my_ext)
Doc.set_extension("my_ext", default=None)
def __call__(self, doc):
gathered_ext = []
for sent in doc.sents:
sent_ext = self._get_my_ext(sent)
sent._.set("my_ext", sent_ext)
gathered_ext.append(sent_ext)
doc._.set("my_ext", "\n".join(gathered_ext))
return doc
@staticmethod
def _get_my_ext(span):
return str(span.end)
def test_issue4903():
# ensures that this runs correctly and doesn't hang or crash on Windows / macOS
nlp = spacy.load("en_core_web_sm")
custom_component = CustomPipe()
nlp.add_pipe(custom_component, after="parser")
text = ["I like bananas.", "Do you like them?", "No, I prefer wasabi."]
# works without 'n_process'
for doc in nlp.pipe(text, n_process=2):
print(doc)

View File

@ -11,6 +11,6 @@ def nlp():
return spacy.blank("en") return spacy.blank("en")
def test_evaluate(nlp): def test_issue4924(nlp):
docs_golds = [("", {})] docs_golds = [("", {})]
nlp.evaluate(docs_golds) nlp.evaluate(docs_golds)