From 61f1ca09c279dcc2f7f94d9ffffb0681b3154dbc Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Thu, 12 Jan 2017 21:58:55 +0100 Subject: [PATCH] Modernise serializer codecs tests --- spacy/tests/serialize/test_codecs.py | 65 ++++++++++++---------------- 1 file changed, 28 insertions(+), 37 deletions(-) diff --git a/spacy/tests/serialize/test_codecs.py b/spacy/tests/serialize/test_codecs.py index 00177f21a..4e080f600 100644 --- a/spacy/tests/serialize/test_codecs.py +++ b/spacy/tests/serialize/test_codecs.py @@ -1,60 +1,51 @@ +# coding: utf-8 from __future__ import unicode_literals -import pytest + +from ...serialize.packer import _BinaryCodec +from ...serialize.huffman import HuffmanCodec +from ...serialize.bits import BitArray import numpy - -from spacy.vocab import Vocab -from spacy.serialize.packer import _BinaryCodec -from spacy.serialize.huffman import HuffmanCodec -from spacy.serialize.bits import BitArray +import pytest -def test_binary(): +def test_serialize_codecs_binary(): codec = _BinaryCodec() bits = BitArray() - msg = numpy.array([0, 1, 0, 1, 1], numpy.int32) - codec.encode(msg, bits) + array = numpy.array([0, 1, 0, 1, 1], numpy.int32) + codec.encode(array, bits) result = numpy.array([0, 0, 0, 0, 0], numpy.int32) bits.seek(0) codec.decode(bits, result) - assert list(msg) == list(result) + assert list(array) == list(result) -def test_attribute(): - freqs = {'the': 10, 'quick': 3, 'brown': 4, 'fox': 1, 'jumped': 5, 'over': 8, - 'lazy': 1, 'dog': 2, '.': 9} - - int_map = {'the': 0, 'quick': 1, 'brown': 2, 'fox': 3, 'jumped': 4, 'over': 5, - 'lazy': 6, 'dog': 7, '.': 8} +def test_serialize_codecs_attribute(): + freqs = {'the': 10, 'quick': 3, 'brown': 4, 'fox': 1, 'jumped': 5, + 'over': 8, 'lazy': 1, 'dog': 2, '.': 9} + int_map = {'the': 0, 'quick': 1, 'brown': 2, 'fox': 3, 'jumped': 4, + 'over': 5, 'lazy': 6, 'dog': 7, '.': 8} codec = HuffmanCodec([(int_map[string], freq) for string, freq in freqs.items()]) - bits = BitArray() - - msg = numpy.array([1, 7], dtype=numpy.int32) - msg_list = list(msg) - codec.encode(msg, bits) + array = numpy.array([1, 7], dtype=numpy.int32) + codec.encode(array, bits) result = numpy.array([0, 0], dtype=numpy.int32) bits.seek(0) codec.decode(bits, result) - assert msg_list == list(result) + assert list(array) == list(result) -def test_vocab_codec(): - vocab = Vocab() - lex = vocab['dog'] - lex = vocab['the'] - lex = vocab['jumped'] - - codec = HuffmanCodec([(lex.orth, lex.prob) for lex in vocab]) - +def test_serialize_codecs_vocab(en_vocab): + words = ["the", "dog", "jumped"] + for word in words: + _ = en_vocab[word] + codec = HuffmanCodec([(lex.orth, lex.prob) for lex in en_vocab]) bits = BitArray() - - ids = [vocab[s].orth for s in ('the', 'dog', 'jumped')] - msg = numpy.array(ids, dtype=numpy.int32) - msg_list = list(msg) - codec.encode(msg, bits) - result = numpy.array(range(len(msg)), dtype=numpy.int32) + ids = [en_vocab[s].orth for s in words] + array = numpy.array(ids, dtype=numpy.int32) + codec.encode(array, bits) + result = numpy.array(range(len(array)), dtype=numpy.int32) bits.seek(0) codec.decode(bits, result) - assert msg_list == list(result) + assert list(array) == list(result)