From 0e62809a4311afcddd16a4dc57700026c2fea662 Mon Sep 17 00:00:00 2001 From: Kit Date: Fri, 12 Jan 2018 22:26:06 +0100 Subject: [PATCH 1/5] Rewrite tests for issue #1769 --- spacy/tests/regression/test_issue1769.py | 120 ++++++++++++++--------- 1 file changed, 75 insertions(+), 45 deletions(-) diff --git a/spacy/tests/regression/test_issue1769.py b/spacy/tests/regression/test_issue1769.py index 5ce228189..313bf0053 100644 --- a/spacy/tests/regression/test_issue1769.py +++ b/spacy/tests/regression/test_issue1769.py @@ -2,54 +2,84 @@ from __future__ import unicode_literals from ...lang.da.lex_attrs import like_num as da_like_num -# from ...lang.en.lex_attrs import like_num as en_like_num -# from ...lang.fr.lex_attrs import like_num as fr_like_num -# from ...lang.id.lex_attrs import like_num as id_like_num -# from ...lang.nl.lex_attrs import like_num as nl_like_num -# from ...lang.pt.lex_attrs import like_num as pt_like_num -# from ...lang.ru.lex_attrs import like_num as ru_like_num +from ...lang.en.lex_attrs import like_num as en_like_num +from ...lang.fr.lex_attrs import like_num as fr_like_num +from ...lang.id.lex_attrs import like_num as id_like_num +from ...lang.nl.lex_attrs import like_num as nl_like_num +from ...lang.pt.lex_attrs import like_num as pt_like_num +from ...lang.ru.lex_attrs import like_num as ru_like_num import pytest -@pytest.mark.parametrize('num_words', ['elleve', 'ELLEVE']) -@pytest.mark.parametrize('ordinal_words', ['første', 'FØRSTE']) -def test_da_lex_attrs(num_words, ordinal_words): - assert da_like_num(num_words) == True - assert da_like_num(ordinal_words) == True +@pytest.fixture +def words(): + return { + "da": { + "num_words": ('elleve', 'ELLEVE'), + "ord_words": ('første', 'FØRSTE') + }, + "en": { + "num_words": ('eleven', 'ELEVEN') + }, + "fr": { + "num_words": ('onze', 'ONZE'), + "ord_words": ('onzième', 'ONZIÈME') + }, + "id": { + "num_words": ('sebelas', 'SEBELAS') + }, + "nl": { + "num_words": ('elf', 'ELF'), + "ord_words": ('elfde', 'ELFDE') + }, + "pt": { + "num_words": ('onze', 'ONZE'), + "ord_words": ('quadragésimo', 'QUADRAGÉSIMO') + }, + "ru": { + "num_words": ('одиннадцать', 'ОДИННАДЦАТЬ') + } + } -# @pytest.mark.parametrize('num_words', ['eleven', 'ELEVEN']) -# def test_en_lex_attrs(num_words): -# assert en_like_num(num_words) == True -# -# -# @pytest.mark.parametrize('num_words', ['onze', 'ONZE']) -# @pytest.mark.parametrize('ordinal_words', ['onzième', 'ONZIÈME']) -# def test_fr_lex_attrs(num_words, ordinal_words): -# assert fr_like_num(num_words) == True -# assert fr_like_num(ordinal_words) == True -# -# -# @pytest.mark.parametrize('num_words', ['sebelas', 'SEBELAS']) -# def test_id_lex_attrs(num_words): -# assert id_like_num(num_words) == True -# -# -# @pytest.mark.parametrize('num_words', ['elf', 'ELF']) -# @pytest.mark.parametrize('ordinal_words', ['elfde', 'ELFDE']) -# def test_nl_lex_attrs(num_words, ordinal_words): -# assert nl_like_num(num_words) == True -# assert nl_like_num(ordinal_words) == True -# -# -# @pytest.mark.parametrize('num_words', ['onze', 'ONZE']) -# @pytest.mark.parametrize('ordinal_words', ['quadragésimo', 'QUADRAGÉSIMO']) -# def test_pt_lex_attrs(num_words, ordinal_words): -# assert pt_like_num(num_words) == True -# assert pt_like_num(ordinal_words) == True -# -# -# @pytest.mark.parametrize('num_words', ['одиннадцать', 'ОДИННАДЦАТЬ']) -# def test_ru_lex_attrs(num_words): -# assert ru_like_num(num_words) == True + +def like_num(words, fn): + ok = True + for word in words: + if fn(word) is not True: + ok = False + break + return ok + + +def test_da_lex_attrs(words): + assert like_num(words["da"]["num_words"], da_like_num) == True + assert like_num(words["da"]["ord_words"], da_like_num) == True + + +def test_en_lex_attrs(words): + assert like_num(words["en"]["num_words"], en_like_num) == True + + +def test_fr_lex_attrs(words): + assert like_num(words["fr"]["num_words"], fr_like_num) == True + assert like_num(words["fr"]["ord_words"], fr_like_num) == True + + +def test_id_lex_attrs(words): + assert like_num(words["id"]["num_words"], id_like_num) == True + + +def test_nl_lex_attrs(words): + assert like_num(words["nl"]["num_words"], nl_like_num) == True + assert like_num(words["nl"]["ord_words"], nl_like_num) == True + + +def test_pt_lex_attrs(words): + assert like_num(words["pt"]["num_words"], pt_like_num) == True + assert like_num(words["pt"]["ord_words"], pt_like_num) == True + + +def test_ru_lex_attrs(words): + assert like_num(words["ru"]["num_words"], ru_like_num) == True From 7a2adc46337d786c1ba91521783fddc19fed9f0c Mon Sep 17 00:00:00 2001 From: Kit Date: Fri, 12 Jan 2018 22:49:16 +0100 Subject: [PATCH 2/5] Remove some tests to see build status changes --- spacy/tests/regression/test_issue1769.py | 31 ++++++++++++------------ 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/spacy/tests/regression/test_issue1769.py b/spacy/tests/regression/test_issue1769.py index 313bf0053..1d2541e28 100644 --- a/spacy/tests/regression/test_issue1769.py +++ b/spacy/tests/regression/test_issue1769.py @@ -5,9 +5,9 @@ from ...lang.da.lex_attrs import like_num as da_like_num from ...lang.en.lex_attrs import like_num as en_like_num from ...lang.fr.lex_attrs import like_num as fr_like_num from ...lang.id.lex_attrs import like_num as id_like_num -from ...lang.nl.lex_attrs import like_num as nl_like_num -from ...lang.pt.lex_attrs import like_num as pt_like_num -from ...lang.ru.lex_attrs import like_num as ru_like_num +# from ...lang.nl.lex_attrs import like_num as nl_like_num +# from ...lang.pt.lex_attrs import like_num as pt_like_num +# from ...lang.ru.lex_attrs import like_num as ru_like_num import pytest @@ -43,7 +43,6 @@ def words(): } - def like_num(words, fn): ok = True for word in words: @@ -71,15 +70,15 @@ def test_id_lex_attrs(words): assert like_num(words["id"]["num_words"], id_like_num) == True -def test_nl_lex_attrs(words): - assert like_num(words["nl"]["num_words"], nl_like_num) == True - assert like_num(words["nl"]["ord_words"], nl_like_num) == True - - -def test_pt_lex_attrs(words): - assert like_num(words["pt"]["num_words"], pt_like_num) == True - assert like_num(words["pt"]["ord_words"], pt_like_num) == True - - -def test_ru_lex_attrs(words): - assert like_num(words["ru"]["num_words"], ru_like_num) == True +# def test_nl_lex_attrs(words): +# assert like_num(words["nl"]["num_words"], nl_like_num) == True +# assert like_num(words["nl"]["ord_words"], nl_like_num) == True +# +# +# def test_pt_lex_attrs(words): +# assert like_num(words["pt"]["num_words"], pt_like_num) == True +# assert like_num(words["pt"]["ord_words"], pt_like_num) == True +# +# +# def test_ru_lex_attrs(words): +# assert like_num(words["ru"]["num_words"], ru_like_num) == True From 5b541cb5ec92b813f7ff705b5a71946dff28db5a Mon Sep 17 00:00:00 2001 From: Kit Date: Fri, 12 Jan 2018 23:34:27 +0100 Subject: [PATCH 3/5] Simplify tests for issue #1769 --- spacy/tests/regression/test_issue1769.py | 42 ++++++++++-------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/spacy/tests/regression/test_issue1769.py b/spacy/tests/regression/test_issue1769.py index 1d2541e28..b6ed0b1aa 100644 --- a/spacy/tests/regression/test_issue1769.py +++ b/spacy/tests/regression/test_issue1769.py @@ -5,9 +5,9 @@ from ...lang.da.lex_attrs import like_num as da_like_num from ...lang.en.lex_attrs import like_num as en_like_num from ...lang.fr.lex_attrs import like_num as fr_like_num from ...lang.id.lex_attrs import like_num as id_like_num -# from ...lang.nl.lex_attrs import like_num as nl_like_num -# from ...lang.pt.lex_attrs import like_num as pt_like_num -# from ...lang.ru.lex_attrs import like_num as ru_like_num +from ...lang.nl.lex_attrs import like_num as nl_like_num +from ...lang.pt.lex_attrs import like_num as pt_like_num +from ...lang.ru.lex_attrs import like_num as ru_like_num import pytest @@ -16,26 +16,22 @@ import pytest def words(): return { "da": { - "num_words": ('elleve', 'ELLEVE'), - "ord_words": ('første', 'FØRSTE') + "num_words": ('elleve', 'ELLEVE') }, "en": { "num_words": ('eleven', 'ELEVEN') }, "fr": { - "num_words": ('onze', 'ONZE'), - "ord_words": ('onzième', 'ONZIÈME') + "num_words": ('onze', 'ONZE') }, "id": { "num_words": ('sebelas', 'SEBELAS') }, "nl": { - "num_words": ('elf', 'ELF'), - "ord_words": ('elfde', 'ELFDE') + "num_words": ('elf', 'ELF') }, "pt": { - "num_words": ('onze', 'ONZE'), - "ord_words": ('quadragésimo', 'QUADRAGÉSIMO') + "num_words": ('onze', 'ONZE') }, "ru": { "num_words": ('одиннадцать', 'ОДИННАДЦАТЬ') @@ -54,7 +50,6 @@ def like_num(words, fn): def test_da_lex_attrs(words): assert like_num(words["da"]["num_words"], da_like_num) == True - assert like_num(words["da"]["ord_words"], da_like_num) == True def test_en_lex_attrs(words): @@ -63,22 +58,19 @@ def test_en_lex_attrs(words): def test_fr_lex_attrs(words): assert like_num(words["fr"]["num_words"], fr_like_num) == True - assert like_num(words["fr"]["ord_words"], fr_like_num) == True def test_id_lex_attrs(words): assert like_num(words["id"]["num_words"], id_like_num) == True -# def test_nl_lex_attrs(words): -# assert like_num(words["nl"]["num_words"], nl_like_num) == True -# assert like_num(words["nl"]["ord_words"], nl_like_num) == True -# -# -# def test_pt_lex_attrs(words): -# assert like_num(words["pt"]["num_words"], pt_like_num) == True -# assert like_num(words["pt"]["ord_words"], pt_like_num) == True -# -# -# def test_ru_lex_attrs(words): -# assert like_num(words["ru"]["num_words"], ru_like_num) == True +def test_nl_lex_attrs(words): + assert like_num(words["nl"]["num_words"], nl_like_num) == True + + +def test_pt_lex_attrs(words): + assert like_num(words["pt"]["num_words"], pt_like_num) == True + + +def test_ru_lex_attrs(words): + assert like_num(words["ru"]["num_words"], ru_like_num) == True From 855531537eab6b09c7a3689e5e8fbb9d1b36d071 Mon Sep 17 00:00:00 2001 From: Kit Date: Fri, 12 Jan 2018 23:49:51 +0100 Subject: [PATCH 4/5] Rewrite tests for issue #1769 --- spacy/tests/regression/test_issue1769.py | 71 +++++++----------------- 1 file changed, 21 insertions(+), 50 deletions(-) diff --git a/spacy/tests/regression/test_issue1769.py b/spacy/tests/regression/test_issue1769.py index b6ed0b1aa..9b73267e1 100644 --- a/spacy/tests/regression/test_issue1769.py +++ b/spacy/tests/regression/test_issue1769.py @@ -12,65 +12,36 @@ from ...lang.ru.lex_attrs import like_num as ru_like_num import pytest -@pytest.fixture -def words(): - return { - "da": { - "num_words": ('elleve', 'ELLEVE') - }, - "en": { - "num_words": ('eleven', 'ELEVEN') - }, - "fr": { - "num_words": ('onze', 'ONZE') - }, - "id": { - "num_words": ('sebelas', 'SEBELAS') - }, - "nl": { - "num_words": ('elf', 'ELF') - }, - "pt": { - "num_words": ('onze', 'ONZE') - }, - "ru": { - "num_words": ('одиннадцать', 'ОДИННАДЦАТЬ') - } - } +@pytest.mark.parametrize('word', ['elleve', 'første']) +def test_da_lex_attrs(word): + assert da_like_num(word) == da_like_num(word.upper()) -def like_num(words, fn): - ok = True - for word in words: - if fn(word) is not True: - ok = False - break - return ok +@pytest.mark.parametrize('word', ['eleven']) +def test_en_lex_attrs(word): + assert en_like_num(word) == en_like_num(word.upper()) -def test_da_lex_attrs(words): - assert like_num(words["da"]["num_words"], da_like_num) == True +@pytest.mark.parametrize('word', ['onze', 'onzième']) +def test_fr_lex_attrs(word): + assert fr_like_num(word) == fr_like_num(word.upper()) -def test_en_lex_attrs(words): - assert like_num(words["en"]["num_words"], en_like_num) == True +@pytest.mark.parametrize('word', ['sebelas']) +def test_id_lex_attrs(word): + assert id_like_num(word) == id_like_num(word.upper()) -def test_fr_lex_attrs(words): - assert like_num(words["fr"]["num_words"], fr_like_num) == True +@pytest.mark.parametrize('word', ['elf', 'elfde']) +def test_nl_lex_attrs(word): + assert nl_like_num(word) == nl_like_num(word.upper()) -def test_id_lex_attrs(words): - assert like_num(words["id"]["num_words"], id_like_num) == True +@pytest.mark.parametrize('word', ['onze', 'quadragésimo']) +def test_pt_lex_attrs(word): + assert pt_like_num(word) == pt_like_num(word.upper()) -def test_nl_lex_attrs(words): - assert like_num(words["nl"]["num_words"], nl_like_num) == True - - -def test_pt_lex_attrs(words): - assert like_num(words["pt"]["num_words"], pt_like_num) == True - - -def test_ru_lex_attrs(words): - assert like_num(words["ru"]["num_words"], ru_like_num) == True +@pytest.mark.parametrize('word', ['одиннадцать']) +def test_ru_lex_attrs(word): + assert ru_like_num(word) == ru_like_num(word.upper()) From 4ee97f20a0023b00f3675d97a0d4fb2f12d8d3cd Mon Sep 17 00:00:00 2001 From: Kit Date: Sat, 13 Jan 2018 00:44:15 +0100 Subject: [PATCH 5/5] Mark like_num tests as slow --- spacy/tests/regression/test_issue1769.py | 52 +++++++++++++++--------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/spacy/tests/regression/test_issue1769.py b/spacy/tests/regression/test_issue1769.py index 9b73267e1..63ec83908 100644 --- a/spacy/tests/regression/test_issue1769.py +++ b/spacy/tests/regression/test_issue1769.py @@ -1,47 +1,61 @@ # coding: utf-8 from __future__ import unicode_literals - -from ...lang.da.lex_attrs import like_num as da_like_num -from ...lang.en.lex_attrs import like_num as en_like_num -from ...lang.fr.lex_attrs import like_num as fr_like_num -from ...lang.id.lex_attrs import like_num as id_like_num -from ...lang.nl.lex_attrs import like_num as nl_like_num -from ...lang.pt.lex_attrs import like_num as pt_like_num -from ...lang.ru.lex_attrs import like_num as ru_like_num +from ...util import get_lang_class +from ...attrs import LIKE_NUM import pytest -@pytest.mark.parametrize('word', ['elleve', 'første']) -def test_da_lex_attrs(word): - assert da_like_num(word) == da_like_num(word.upper()) - - @pytest.mark.parametrize('word', ['eleven']) def test_en_lex_attrs(word): - assert en_like_num(word) == en_like_num(word.upper()) + lang = get_lang_class('en') + like_num = lang.Defaults.lex_attr_getters[LIKE_NUM] + assert like_num(word) == like_num(word.upper()) +@pytest.mark.slow +@pytest.mark.parametrize('word', ['elleve', 'første']) +def test_da_lex_attrs(word): + lang = get_lang_class('da') + like_num = lang.Defaults.lex_attr_getters[LIKE_NUM] + assert like_num(word) == like_num(word.upper()) + + +@pytest.mark.slow @pytest.mark.parametrize('word', ['onze', 'onzième']) def test_fr_lex_attrs(word): - assert fr_like_num(word) == fr_like_num(word.upper()) + lang = get_lang_class('fr') + like_num = lang.Defaults.lex_attr_getters[LIKE_NUM] + assert like_num(word) == like_num(word.upper()) +@pytest.mark.slow @pytest.mark.parametrize('word', ['sebelas']) def test_id_lex_attrs(word): - assert id_like_num(word) == id_like_num(word.upper()) + lang = get_lang_class('id') + like_num = lang.Defaults.lex_attr_getters[LIKE_NUM] + assert like_num(word) == like_num(word.upper()) +@pytest.mark.slow @pytest.mark.parametrize('word', ['elf', 'elfde']) def test_nl_lex_attrs(word): - assert nl_like_num(word) == nl_like_num(word.upper()) + lang = get_lang_class('nl') + like_num = lang.Defaults.lex_attr_getters[LIKE_NUM] + assert like_num(word) == like_num(word.upper()) +@pytest.mark.slow @pytest.mark.parametrize('word', ['onze', 'quadragésimo']) def test_pt_lex_attrs(word): - assert pt_like_num(word) == pt_like_num(word.upper()) + lang = get_lang_class('pt') + like_num = lang.Defaults.lex_attr_getters[LIKE_NUM] + assert like_num(word) == like_num(word.upper()) +@pytest.mark.slow @pytest.mark.parametrize('word', ['одиннадцать']) def test_ru_lex_attrs(word): - assert ru_like_num(word) == ru_like_num(word.upper()) + lang = get_lang_class('ru') + like_num = lang.Defaults.lex_attr_getters[LIKE_NUM] + assert like_num(word) == like_num(word.upper())