Modernise Doc array tests and don't depend on models

This commit is contained in:
Ines Montani 2017-01-11 18:54:46 +01:00
parent 05447be884
commit 439f396acd

View File

@ -1,38 +1,42 @@
# coding: utf-8 # coding: utf-8
from __future__ import unicode_literals from __future__ import unicode_literals
from ...attrs import ORTH, SHAPE, POS, DEP
from ..util import get_doc
import pytest import pytest
from spacy import attrs
def test_array_attr_of_token(en_tokenizer, en_vocab):
def test_attr_of_token(EN): text = "An example sentence"
text = u'An example sentence.' tokens = en_tokenizer(text)
tokens = EN(text, tag=True, parse=False) example = tokens.vocab["example"]
example = EN.vocab[u'example']
assert example.orth != example.shape assert example.orth != example.shape
feats_array = tokens.to_array((attrs.ORTH, attrs.SHAPE)) feats_array = tokens.to_array((ORTH, SHAPE))
assert feats_array[0][0] != feats_array[0][1]
assert feats_array[0][0] != feats_array[0][1] assert feats_array[0][0] != feats_array[0][1]
@pytest.mark.models def test_array_tag(en_tokenizer):
def test_tag(EN): text = "A nice sentence."
text = u'A nice sentence.' tags = ['DET', 'ADJ', 'NOUN', 'PUNCT']
tokens = EN(text) tokens = en_tokenizer(text)
assert tokens[0].tag != tokens[1].tag != tokens[2].tag != tokens[3].tag doc = get_doc(tokens.vocab, [t.text for t in tokens], tags=tags)
feats_array = tokens.to_array((attrs.ORTH, attrs.TAG)) assert doc[0].pos != doc[1].pos != doc[2].pos != doc[3].pos
assert feats_array[0][1] == tokens[0].tag feats_array = doc.to_array((ORTH, POS))
assert feats_array[1][1] == tokens[1].tag assert feats_array[0][1] == doc[0].pos
assert feats_array[2][1] == tokens[2].tag assert feats_array[1][1] == doc[1].pos
assert feats_array[3][1] == tokens[3].tag assert feats_array[2][1] == doc[2].pos
assert feats_array[3][1] == doc[3].pos
@pytest.mark.models def test_array_dep(en_tokenizer):
def test_dep(EN): text = "A nice sentence."
text = u'A nice sentence.' deps = ['det', 'amod', 'ROOT', 'punct']
tokens = EN(text) tokens = en_tokenizer(text)
feats_array = tokens.to_array((attrs.ORTH, attrs.DEP)) doc = get_doc(tokens.vocab, [t.text for t in tokens], deps=deps)
assert feats_array[0][1] == tokens[0].dep feats_array = doc.to_array((ORTH, DEP))
assert feats_array[1][1] == tokens[1].dep assert feats_array[0][1] == doc[0].dep
assert feats_array[2][1] == tokens[2].dep assert feats_array[1][1] == doc[1].dep
assert feats_array[3][1] == tokens[3].dep assert feats_array[2][1] == doc[2].dep
assert feats_array[3][1] == doc[3].dep