From 439f396acd541132543a84f220146b2b5a3c75f7 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Wed, 11 Jan 2017 18:54:46 +0100 Subject: [PATCH] Modernise Doc array tests and don't depend on models --- spacy/tests/tokens/test_array.py | 56 +++++++++++++++++--------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/spacy/tests/tokens/test_array.py b/spacy/tests/tokens/test_array.py index bdfdfd057..399d88609 100644 --- a/spacy/tests/tokens/test_array.py +++ b/spacy/tests/tokens/test_array.py @@ -1,38 +1,42 @@ # coding: utf-8 from __future__ import unicode_literals +from ...attrs import ORTH, SHAPE, POS, DEP +from ..util import get_doc + import pytest -from spacy import attrs - -def test_attr_of_token(EN): - text = u'An example sentence.' - tokens = EN(text, tag=True, parse=False) - example = EN.vocab[u'example'] +def test_array_attr_of_token(en_tokenizer, en_vocab): + text = "An example sentence" + tokens = en_tokenizer(text) + example = tokens.vocab["example"] 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] -@pytest.mark.models -def test_tag(EN): - text = u'A nice sentence.' - tokens = EN(text) - assert tokens[0].tag != tokens[1].tag != tokens[2].tag != tokens[3].tag - feats_array = tokens.to_array((attrs.ORTH, attrs.TAG)) - assert feats_array[0][1] == tokens[0].tag - assert feats_array[1][1] == tokens[1].tag - assert feats_array[2][1] == tokens[2].tag - assert feats_array[3][1] == tokens[3].tag +def test_array_tag(en_tokenizer): + text = "A nice sentence." + tags = ['DET', 'ADJ', 'NOUN', 'PUNCT'] + tokens = en_tokenizer(text) + doc = get_doc(tokens.vocab, [t.text for t in tokens], tags=tags) + assert doc[0].pos != doc[1].pos != doc[2].pos != doc[3].pos + feats_array = doc.to_array((ORTH, POS)) + assert feats_array[0][1] == doc[0].pos + assert feats_array[1][1] == doc[1].pos + assert feats_array[2][1] == doc[2].pos + assert feats_array[3][1] == doc[3].pos -@pytest.mark.models -def test_dep(EN): - text = u'A nice sentence.' - tokens = EN(text) - feats_array = tokens.to_array((attrs.ORTH, attrs.DEP)) - assert feats_array[0][1] == tokens[0].dep - assert feats_array[1][1] == tokens[1].dep - assert feats_array[2][1] == tokens[2].dep - assert feats_array[3][1] == tokens[3].dep +def test_array_dep(en_tokenizer): + text = "A nice sentence." + deps = ['det', 'amod', 'ROOT', 'punct'] + tokens = en_tokenizer(text) + doc = get_doc(tokens.vocab, [t.text for t in tokens], deps=deps) + feats_array = doc.to_array((ORTH, DEP)) + assert feats_array[0][1] == doc[0].dep + assert feats_array[1][1] == doc[1].dep + assert feats_array[2][1] == doc[2].dep + assert feats_array[3][1] == doc[3].dep