From ab2f6ea46cbdab843d139483f5e17b606a7844b6 Mon Sep 17 00:00:00 2001 From: Gyorgy Orosz Date: Wed, 21 Dec 2016 20:22:09 +0100 Subject: [PATCH] Removed data files from tests.. --- spacy/tests/hu/tokenizer/__init__.py | 4 - .../hu/tokenizer/test_default_token_dots.txt | 58 -- .../tokenizer/test_default_token_hyphen.txt | 82 --- .../hu/tokenizer/test_default_token_it.txt | 233 ------- .../hu/tokenizer/test_default_token_misc.txt | 22 - .../tokenizer/test_default_token_numbers.txt | 613 ------------------ .../hu/tokenizer/test_default_token_quote.txt | 22 - spacy/tests/hu/tokenizer/test_tokenizer.py | 271 ++++++-- 8 files changed, 210 insertions(+), 1095 deletions(-) delete mode 100644 spacy/tests/hu/tokenizer/test_default_token_dots.txt delete mode 100644 spacy/tests/hu/tokenizer/test_default_token_hyphen.txt delete mode 100644 spacy/tests/hu/tokenizer/test_default_token_it.txt delete mode 100644 spacy/tests/hu/tokenizer/test_default_token_misc.txt delete mode 100644 spacy/tests/hu/tokenizer/test_default_token_numbers.txt delete mode 100644 spacy/tests/hu/tokenizer/test_default_token_quote.txt diff --git a/spacy/tests/hu/tokenizer/__init__.py b/spacy/tests/hu/tokenizer/__init__.py index 818b62e48..e69de29bb 100644 --- a/spacy/tests/hu/tokenizer/__init__.py +++ b/spacy/tests/hu/tokenizer/__init__.py @@ -1,4 +0,0 @@ -__author__ = 'gyorgyorosz' - -if __name__ == "__main__": - pass diff --git a/spacy/tests/hu/tokenizer/test_default_token_dots.txt b/spacy/tests/hu/tokenizer/test_default_token_dots.txt deleted file mode 100644 index 0e9ad3c65..000000000 --- a/spacy/tests/hu/tokenizer/test_default_token_dots.txt +++ /dev/null @@ -1,58 +0,0 @@ -# TOKEN dots - -0. egyszeru szavak -IN : N. kormányzósági -IN : székhely. -OUT: N. kormányzósági -OUT: székhely. - - -1. szavak pontokkal - -1.1 mondatkozi verziok -1.1.1 pottal kezdodo szavak -IN : A .hu egy tld. -OUT: A .hu egy tld. -1.1.2 pont a szo belsejeben -IN : Az egy.ketto pelda. -OUT: Az egy.ketto pelda. -1.1.3 pont a szo vegen -IN : A pl. rovidites. -OUT: A pl. rovidites. -1.1.4 pontozott szo -IN : A S.M.A.R.T. szo. -OUT: A S.M.A.R.T. szo. - -1.2 mondatvegi verziok -1.2.1 pottal kezdodo szavak -IN : A .hu. -OUT: A .hu. -1.2.2 pont a szo belsejeben -IN : Az egy.ketto. -OUT: Az egy.ketto. -1.2.3 pont a szo vegen -#TODO: cf. Huntoken -IN : A pl. -OUT: A pl. -1.2.4 pontozott szo -#TODO: cf. Huntoken -IN : A S.M.A.R.T. -OUT: A S.M.A.R.T. - - -2. tobb pont - -2.1 ketto vagy tobb pont utan uj szo -IN : Egy..ket. -OUT: Egy..ket. -IN : Valami... van. -OUT: Valami... van. -IN : Valami ...van... -OUT: Valami ...van... -IN : Valami... -OUT: Valami... -IN : Valami ... -OUT: Valami ... -IN : Valami ... más. -OUT: Valami ... más. - diff --git a/spacy/tests/hu/tokenizer/test_default_token_hyphen.txt b/spacy/tests/hu/tokenizer/test_default_token_hyphen.txt deleted file mode 100644 index d9fced90f..000000000 --- a/spacy/tests/hu/tokenizer/test_default_token_hyphen.txt +++ /dev/null @@ -1,82 +0,0 @@ -# TOKEN hyphen - --nak, -nek es ehhez hasonlok -IN : Egy -nak, -jaiért, -magyar, bel- van. -OUT: Egy -nak, -jaiért, -magyar, bel- van. -IN : Egy -nak. -OUT: Egy -nak. -IN : Egy bel-. -OUT: Egy bel-. -IN : Dinnye-domb-. -OUT: Dinnye-domb-. - -kulonvalt '-e' -IN : Ezen -e elcsatangolt. -OUT: Ezen -e elcsatangolt. - --e levagasa, zarojel nelkul -IN : Lakik-e -OUT: Lakik-e -IN : Lakik-e? -OUT: Lakik-e? -IN : Lakik-e. -OUT: Lakik-e. -IN : Lakik-e... -OUT: Lakik-e... -IN : Lakik-e... van. -OUT: Lakik-e... van. -IN : Lakik-e van? -OUT: Lakik-e van? - -# TODO: adapt spacy to handle such brackets -zarojeles mondatkozi valtozatok -#IN : (La)kik-e van? -#OUT: (La)kik-e van? -#IN : L(a)kik-e van? -#OUT: L(a)kik-e van? -#IN : Lak(ik)-e van? -#OUT: Lak(ik)-e van? - -# TODO: adapt spacy to handle such brackets -zarojeles mondatvegi valtozatok -#IN : (La)kik-e. -#OUT: (La)kik-e. -#IN : L(a)kik-e. -#OUT: L(a)kik-e. -#IN : Lak(ik)-e. -#OUT: Lak(ik)-e. - -kontroll -IN : Lakik-elem van? -OUT: Lakik-elem van? -IN : Van lakik-elem. -OUT: Van lakik-elem. -IN : A 7-es busz? -OUT: A 7-es busz? -IN : A 7-es? -OUT: A 7-es? -IN : A 7-es. -OUT: A 7-es. - -problemas eset, megengedjuk # TODO: works erroundously in HunToken, but OK in spacy -IN : Ez (lakik)-e? -OUT: Ez (lakik)-e? - - TODO: macska-/kutyavilag - IN : A macska-/kutyavilag van. - OUT: A macska-/kutyavilag van. - -%-, §- -# TODO: spaCy cannot handle such cases -# IN : A §-sal. -# OUT: A §-sal. -IN : A %-sal. -OUT: A %-sal. - -tobb kotojel -IN : A CD-ROM-okrol. -OUT: A CD-ROM-okrol. - - - - diff --git a/spacy/tests/hu/tokenizer/test_default_token_it.txt b/spacy/tests/hu/tokenizer/test_default_token_it.txt deleted file mode 100644 index f5a464547..000000000 --- a/spacy/tests/hu/tokenizer/test_default_token_it.txt +++ /dev/null @@ -1,233 +0,0 @@ -# TOKEN it - -tartomanynevek -IN : .edu, .hu. -OUT: .edu, .hu. - -url-ek -IN : red-stars.com. -OUT: red-stars.com. -IN : www.valami.com. -OUT: www.valami.com. - -url-ek toldalekolva -IN : www.valami.com-ról. -OUT: www.valami.com-ról. -IN : www.valami.comról. -OUT: www.valami.comról. - -osszetettebb url-ek -IN : A https://www.valami.com/index.html van. -OUT: A https://www.valami.com/index.html van. -IN : A http://142.42.1.1/ van. -OUT: A http://142.42.1.1/ van. -IN : A http://142.42.1.1/. -OUT: A http://142.42.1.1/. -IN : A http://example.com/. -OUT: A http://example.com/. -IN : A http://example.com/ van. -OUT: A http://example.com/ van. -IN : A http://foo.com/blah_(wikipedia)#cite-1. -OUT: A http://foo.com/blah_(wikipedia)#cite-1. -IN : A http://foo.com/blah_(wikipedia)#cite-1 van. -OUT: A http://foo.com/blah_(wikipedia)#cite-1 van. -IN : A http://foo.com/blah_(wikipedia). -OUT: A http://foo.com/blah_(wikipedia). -IN : A http://foo.com/blah_(wikipedia) van. -OUT: A http://foo.com/blah_(wikipedia) van. -IN : A http://www.example.com/wpstyle/?bar=baz&inga=42&quux. -OUT: A http://www.example.com/wpstyle/?bar=baz&inga=42&quux. -IN : A http://www.example.com/wpstyle/?bar=baz&inga=42&quux van. -OUT: A http://www.example.com/wpstyle/?bar=baz&inga=42&quux van. -IN : A http://example.com:8080. -OUT: A http://example.com:8080. -IN : A http://example.com:8080 van. -OUT: A http://example.com:8080 van. -IN : A http://foo.bar/?q=Test%20URL-encoded%20stuff. -OUT: A http://foo.bar/?q=Test%20URL-encoded%20stuff. -IN : A http://foo.bar/?q=Test%20URL-encoded%20stuff van. -OUT: A http://foo.bar/?q=Test%20URL-encoded%20stuff van. -# url with more '=' -IN : A www.kereso.elte.hu/nev=kiss,jozsef%kar=jog%tagozat=nappali. -OUT: A www.kereso.elte.hu/nev=kiss,jozsef%kar=jog%tagozat=nappali. -IN : A www.kereso.elte.hu/nev=kiss,jozsef%kar=jog%tagozat=nappali van. -OUT: A www.kereso.elte.hu/nev=kiss,jozsef%kar=jog%tagozat=nappali van. - -email -IN : A foo.bar@baz.com van. -OUT: A foo.bar@baz.com van. -IN : A foo.bar@baz.com. -OUT: A foo.bar@baz.com. -IN : A foo.bar@baz.com-nak van. -OUT: A foo.bar@baz.com-nak van. -IN : A foo.bar@baz.com-nak. -OUT: A foo.bar@baz.com-nak. -IN : A foo.bar@baz.comnak van. -OUT: A foo.bar@baz.comnak van. -IN : A foo.bar@baz.comnak. -OUT: A foo.bar@baz.comnak. -IN : A mailto:foo.bar@baz.com van. -OUT: A mailto:foo.bar@baz.com van. -IN : A mailto:foo.bar@baz.com. -OUT: A mailto:foo.bar@baz.com. -IN : A mailto:foo.bar@baz.com-nak van. -OUT: A mailto:foo.bar@baz.com-nak van. -IN : A mailto:foo.bar@baz.com-nak. -OUT: A mailto:foo.bar@baz.com-nak. -IN : A mailto:foo.bar@baz.comnak van. -OUT: A mailto:foo.bar@baz.comnak van. -IN : A mailto:foo.bar@baz.comnak. -OUT: A mailto:foo.bar@baz.comnak. - -windows halozati szolgaltatas (vagy mi) -IN : Az ADMIN$ van. -OUT: Az ADMIN$ van. -IN : Az ADMIN$. -OUT: Az ADMIN$. -IN : Az ADMIN$-nak van. -OUT: Az ADMIN$-nak van. -IN : Az ADMIN$-nak. -OUT: Az ADMIN$-nak. - -legfelso tartomanynevek -IN : A .edu, .hu vannak. -OUT: A .edu, .hu vannak. -IN : A .edu, .hu. -OUT: A .edu, .hu. - -slash, backslash -IN : A / van. -OUT: A / van. -IN : A \ van. -OUT: A \ van. - -windows path -IN : C:, \ es c:\ van. -OUT: C:, \ es c:\ van. -IN : A \\test\test$\TEST.xls van. -OUT: A \\test\test$\TEST.xls van. -IN : A \\server\share\folder\myfile.txt van. -OUT: A \\server\share\folder\myfile.txt van. -IN : A \\server\share\myfile.txt van. -OUT: A \\server\share\myfile.txt van. -IN : A \\123.123.123.123\share\folder\myfile.txt van. -OUT: A \\123.123.123.123\share\folder\myfile.txt van. -IN : A c:\folder\myfile.txt van. -OUT: A c:\folder\myfile.txt van. -IN : A c:\folder\myfile.txt-ben van. -OUT: A c:\folder\myfile.txt-ben van. -IN : A c:\folder\myfileWithoutExtension van. -OUT: A c:\folder\myfileWithoutExtension van. -IN : A c:\folder\myfile.txt. -OUT: A c:\folder\myfile.txt. -IN : A c:\folder\myfile.txt-ben. -OUT: A c:\folder\myfile.txt-ben. - -unix path -IN : A ./ van. -OUT: A ./ van. -IN : A ../ van. -OUT: A ../ van. -IN : A ./valami1/valami2/ van. -OUT: A ./valami1/valami2/ van. -IN : A /valami/valami.txt van. -OUT: A /valami/valami.txt van. -IN : A /valami/valami.txt-ben van. -OUT: A /valami/valami.txt-ben van. -IN : A /valami/valami.txt. -OUT: A /valami/valami.txt. -IN : A /valami/valami.txt-ben. -OUT: A /valami/valami.txt-ben. - -Huntokenes tesztek vegyesen -1. -IN : A C:\DINNYE\MACSKA.JPG van. -OUT: A C:\DINNYE\MACSKA.JPG van. -IN : A C:\DINNYE\MACSKA.JPG-ben van. -OUT: A C:\DINNYE\MACSKA.JPG-ben van. -IN : A C:\DINNYE\MACSKA.JPG. -OUT: A C:\DINNYE\MACSKA.JPG. -IN : A C:\DINNYE\MACSKA.JPG-ben. -OUT: A C:\DINNYE\MACSKA.JPG-ben. -2. -IN : A \\SZERVER\SZOLGALTATAS$ van. -OUT: A \\SZERVER\SZOLGALTATAS$ van. -IN : A \\SZERVER\SZOLGALTATAS$-ben van. -OUT: A \\SZERVER\SZOLGALTATAS$-ben van. -IN : A \\SZERVER\SZOLGALTATAS$. -OUT: A \\SZERVER\SZOLGALTATAS$. -IN : A \\SZERVER\SZOLGALTATAS$-ben. -OUT: A \\SZERVER\SZOLGALTATAS$-ben. -3. -IN : A /etc/.././home/ van. -OUT: A /etc/.././home/ van. -IN : A /etc/.././home/-ben van. -OUT: A /etc/.././home/-ben van. -IN : A /etc/.././home/. -OUT: A /etc/.././home/. -IN : A /etc/.././home/-ben. -OUT: A /etc/.././home/-ben. -4. -IN : A *.doc van. -OUT: A *.doc van. -IN : A *.doc-ben van. -OUT: A *.doc-ben van. -IN : A *.doc. -OUT: A *.doc. -IN : A *.doc-ben. -OUT: A *.doc-ben. -5. -IN : A *.* van. -OUT: A *.* van. -IN : A *.*-ben van. -OUT: A *.*-ben van. -IN : A *.*. -OUT: A *.*. -IN : A *.*-ben. -OUT: A *.*-ben. -6. -IN : A .bmp.zip van. -OUT: A .bmp.zip van. -IN : A .bmp.zip-ben van. -OUT: A .bmp.zip-ben van. -IN : A .bmp.zip. -OUT: A .bmp.zip. -IN : A .bmp.zip-ben. -OUT: A .bmp.zip-ben. - - -fajlnevek -IN : A teszt.txt van. -OUT: A teszt.txt van. -IN : A teszt.txt-ben van. -OUT: A teszt.txt-ben van. -IN : A teszt.txt. -OUT: A teszt.txt. -IN : A teszt.txt-ben. -OUT: A teszt.txt-ben. -IN : A .txt van. -OUT: A .txt van. - - - MINTA - IN : A van. - OUT: A van. - IN : A -ben van. - OUT: A -ben van. - IN : A . - OUT: A . - IN : A -ben. - OUT: A -ben. - - - - - - - - - - - - - diff --git a/spacy/tests/hu/tokenizer/test_default_token_misc.txt b/spacy/tests/hu/tokenizer/test_default_token_misc.txt deleted file mode 100644 index 3c876148f..000000000 --- a/spacy/tests/hu/tokenizer/test_default_token_misc.txt +++ /dev/null @@ -1,22 +0,0 @@ -# TOKEN misc - - TODO: html entities - IN : Molière-rol van. - OUT: Molière-rol van. - - -&-t tartalmazo nagybatus szavak -IN : AT&T van. -OUT: AT&T van. - - - zarojeles mondatkozi valtozatok - IN : (La)kik-e van? - OUT: (La)kik-e van? - IN : L(a)kik-e van? - OUT: L(a)kik-e van? - IN : Lak(ik)-e van? - OUT: Lak(ik)-e van? - - - diff --git a/spacy/tests/hu/tokenizer/test_default_token_numbers.txt b/spacy/tests/hu/tokenizer/test_default_token_numbers.txt deleted file mode 100644 index 58102d676..000000000 --- a/spacy/tests/hu/tokenizer/test_default_token_numbers.txt +++ /dev/null @@ -1,613 +0,0 @@ -# TOKEN numbers - -szam es betu -IN : A 2b van. -OUT: A 2b van. -IN : A 2b-ben van. -OUT: A 2b-ben van. -IN : A 2b. -OUT: A 2b. -IN : A 2b-ben. -OUT: A 2b-ben. -IN : A 3.b van. -OUT: A 3.b van. -IN : A 3.b-ben van. -OUT: A 3.b-ben van. -IN : A 3.b. -OUT: A 3.b. -IN : A 3.b-ben. -OUT: A 3.b-ben. - -IN : A 1:20:36.7 van. -OUT: A 1:20:36.7 van. -IN : A 1:20:36.7-ben van. -OUT: A 1:20:36.7-ben van. -# TODO: not supported by spacy -# IN : A 1:20:36.7. -# OUT: A 1:20:36.7. -IN : A 1:20:36.7-ben. -OUT: A 1:20:36.7-ben. - -IN : A 1:35 van. -OUT: A 1:35 van. -IN : A 1:35-ben van. -OUT: A 1:35-ben van. -# TODO: not supported by spacy -# IN : A 1:35. -# OUT: A 1:35. -IN : A 1:35-ben. -OUT: A 1:35-ben. - -IN : A 1.35 van. -OUT: A 1.35 van. -IN : A 1.35-ben van. -OUT: A 1.35-ben van. -# TODO: not supported by spacy -# IN : A 1.35. -# OUT: A 1.35. -IN : A 1.35-ben. -OUT: A 1.35-ben. - -IN : A 4:01,95 van. -OUT: A 4:01,95 van. -IN : A 4:01,95-ben van. -OUT: A 4:01,95-ben van. -# IN : A 4:01,95. -# OUT: A 4:01,95. -IN : A 4:01,95-ben. -OUT: A 4:01,95-ben. - -DASH -hyphen minus -IN : A 10--12 van. -OUT: A 10--12 van. -IN : A 10--12-ben van. -OUT: A 10--12-ben van. -# IN : A 10--12. -# OUT: A 10--12. -IN : A 10--12-ben. -OUT: A 10--12-ben. -hyphen -IN : A 10‐12 van. -OUT: A 10‐12 van. -IN : A 10‐12-ben van. -OUT: A 10‐12-ben van. -# IN : A 10‐12. -# OUT: A 10‐12. -IN : A 10‐12-ben. -OUT: A 10‐12-ben. -non-breaking hyphen -IN : A 10‑12 van. -OUT: A 10‑12 van. -IN : A 10‑12-ben van. -OUT: A 10‑12-ben van. -# IN : A 10‑12. -# OUT: A 10‑12. -IN : A 10‑12-ben. -OUT: A 10‑12-ben. -figure dash -IN : A 10‒12 van. -OUT: A 10‒12 van. -IN : A 10‒12-ben van. -OUT: A 10‒12-ben van. -# IN : A 10‒12. -# OUT: A 10‒12. -IN : A 10‒12-ben. -OUT: A 10‒12-ben. -en dash -IN : A 10–12 van. -OUT: A 10–12 van. -IN : A 10–12-ben van. -OUT: A 10–12-ben van. -# IN : A 10–12. -# OUT: A 10–12. -IN : A 10–12-ben. -OUT: A 10–12-ben. -em dash -IN : A 10—12 van. -OUT: A 10—12 van. -IN : A 10—12-ben van. -OUT: A 10—12-ben van. -# IN : A 10—12. -# OUT: A 10—12. -IN : A 10—12-ben. -OUT: A 10—12-ben. -horizontal bar -IN : A 10―12 van. -OUT: A 10―12 van. -IN : A 10―12-ben van. -OUT: A 10―12-ben van. -# IN : A 10―12. -# OUT: A 10―12. -IN : A 10―12-ben. -OUT: A 10―12-ben. - -tagolt szamok -IN : A -23,12 van. -OUT: A -23,12 van. -IN : A -23,12-ben van. -OUT: A -23,12-ben van. -# IN : A -23,12. -# OUT: A -23,12. -IN : A -23,12-ben. -OUT: A -23,12-ben. - -#TODO: not supported transformations in spaCy -# IN : A +12 500 van. -# OUT: A +12 500 van. -# IN : A +12 500-ben van. -# OUT: A +12 500-ben van. -# IN : A +12 500. -# OUT: A +12 500. -# IN : A +12 500-ben. -# OUT: A +12 500-ben. - -# IN : A +12 500,99 van. -# OUT: A +12 500,99 van. -# IN : A +12 500,99-ben van. -# OUT: A +12 500,99-ben van. -# IN : A +12 500,99. -# OUT: A +12 500,99. -# IN : A +12 500,99-ben. -# OUT: A +12 500,99-ben. - -# IN : A +12.500.000 van. -# OUT: A +12.500.000 van. -# IN : A +12.500.000-ben van. -# OUT: A +12.500.000-ben van. -# IN : A +12.500.000. -# OUT: A +12.500.000. -# IN : A +12.500.000-ben. -# OUT: A +12.500.000-ben. - -A muveletek (+, -, *, /) jelentette kihivasok: -IN : A 2+3 van. -OUT: A 2+3 van. -# IN : A 2+3. -# OUT: A 2+3. -IN : A 2 +3 van. -OUT: A 2 +3 van. -# IN : A 2 +3. -# OUT: A 2 +3. -IN : A 2+ 3 van. -OUT: A 2+ 3 van. -# IN : A 2+ 3. -# OUT: A 2+ 3. -IN : A 2 + 3 van. -OUT: A 2 + 3 van. -# IN : A 2 + 3. -# OUT: A 2 + 3. - - IN : A 2-3 van. - OUT: A 2-3 van. -# IN : A 2-3. -# OUT: A 2-3. - IN : A 2 -3 van. - OUT: A 2 -3 van. -# IN : A 2 -3. -# OUT: A 2 -3. - IN : A 2- 3 van. - OUT: A 2- 3 van. -# IN : A 2- 3. -# OUT: A 2- 3. - IN : A 2 - 3 van. - OUT: A 2 - 3 van. -# IN : A 2 - 3. -# OUT: A 2 - 3. - -IN : A 2*3 van. -OUT: A 2*3 van. -# IN : A 2*3. -# OUT: A 2*3. -IN : A 2 *3 van. -OUT: A 2 *3 van. -# IN : A 2 *3. -# OUT: A 2 *3. -IN : A 2* 3 van. -OUT: A 2* 3 van. -# IN : A 2* 3. -# OUT: A 2* 3. -IN : A 2 * 3 van. -OUT: A 2 * 3 van. -# IN : A 2 * 3. -# OUT: A 2 * 3. - - IN : A 2/3 van. - OUT: A 2/3 van. -# IN : A 2/3. -# OUT: A 2/3. - IN : A 2 /3 van. - OUT: A 2 /3 van. -# IN : A 2 /3. -# OUT: A 2 /3. - IN : A 2/ 3 van. - OUT: A 2/ 3 van. - IN : A 2/ 3. - OUT: A 2/ 3. - IN : A 2 / 3 van. - OUT: A 2 / 3 van. - IN : A 2 / 3. - OUT: A 2 / 3. - -IN : A C++ van. -OUT: A C++ van. -IN : A C++-ben van. -OUT: A C++-ben van. -IN : A C++. -OUT: A C++. -IN : A C++-ben. -OUT: A C++-ben. - - - -datumok -IN : A 2003. I. 06. van. -OUT: A 2003. I. 06. van. -IN : A 2003. I. 06-ben van. -OUT: A 2003. I. 06-ben van. -IN : A 2003. I. 06. -OUT: A 2003. I. 06. -IN : A 2003. I. 06-ben. -OUT: A 2003. I. 06-ben. - -IN : A 2003. 01. 06. van. -OUT: A 2003. 01. 06. van. -IN : A 2003. 01. 06-ben van. -OUT: A 2003. 01. 06-ben van. -IN : A 2003. 01. 06. -OUT: A 2003. 01. 06. -IN : A 2003. 01. 06-ben. -OUT: A 2003. 01. 06-ben. - -IN : A IV. 12. van. -OUT: A IV. 12. van. -IN : A IV. 12-ben van. -OUT: A IV. 12-ben van. -IN : A IV. 12. -OUT: A IV. 12. -IN : A IV. 12-ben. -OUT: A IV. 12-ben. - -IN : A 2003.01.06. van. -OUT: A 2003.01.06. van. -IN : A 2003.01.06-ben van. -OUT: A 2003.01.06-ben van. -IN : A 2003.01.06. -OUT: A 2003.01.06. -IN : A 2003.01.06-ben. -OUT: A 2003.01.06-ben. - -# TODO: cannot implement in spacy -# IN : A 2003/01/06 van. -# OUT: A 2003/01/06 van. -# IN : A 2003/01/06-ben van. -# OUT: A 2003/01/06-ben van. -# IN : A 2003/01/06. -# OUT: A 2003/01/06. -# IN : A 2003/01/06-ben. -# OUT: A 2003/01/06-ben. - -IN : A IV.12. van. -OUT: A IV.12. van. -IN : A IV.12-ben van. -OUT: A IV.12-ben van. -IN : A IV.12. -OUT: A IV.12. -IN : A IV.12-ben. -OUT: A IV.12-ben. - -fejezetazonosito -IN : A 1.1.2. van. -OUT: A 1.1.2. van. -IN : A 1.1.2-ben van. -OUT: A 1.1.2-ben van. -IN : A 1.1.2. -OUT: A 1.1.2. -IN : A 1.1.2-ben. -OUT: A 1.1.2-ben. - -# TODO cannot handle "/" in multiple ways in spacy -egyeb pontot tartalmazo szamok -# IN : A 123.45/67. van. -# OUT: A 123.45/67. van. -# IN : A 123.45/67-ben van. -# OUT: A 123.45/67-ben van. -# IN : A 123.45/67. -# OUT: A 123.45/67. -# IN : A 123.45/67-ben. -# OUT: A 123.45/67-ben. - -IN : A 1,5--2,5 van. -OUT: A 1,5--2,5 van. -IN : A 1,5--2,5-ben van. -OUT: A 1,5--2,5-ben van. -# IN : A 1,5--2,5. -# OUT: A 1,5--2,5. -IN : A 1,5--2,5-ben. -OUT: A 1,5--2,5-ben. - -tizedestortek vesszovel -IN : A 3,14 van. -OUT: A 3,14 van. -IN : A 3,14-ben van. -OUT: A 3,14-ben van. -# IN : A 3,14. -# OUT: A 3,14. -IN : A 3,14-ben. -OUT: A 3,14-ben. - -tizedestortek ponttal -IN : A 3.14 van. -OUT: A 3.14 van. -IN : A 3.14-ben van. -OUT: A 3.14-ben van. -# IN : A 3.14. -# sOUT: A 3.14. -IN : A 3.14-ben. -OUT: A 3.14-ben. - -sorszamnevek -IN : A 15. van. -OUT: A 15. van. -IN : A 15-ben van. -OUT: A 15-ben van. -# IN : A 15. -# OUT: A 15. -IN : A 15-ben. -OUT: A 15-ben. -IN : A 15.-ben van. -OUT: A 15.-ben van. -IN : A 15.-ben. -OUT: A 15.-ben. - -IN : A 2002--2003. van. -OUT: A 2002--2003. van. -IN : A 2002--2003-ben van. -OUT: A 2002--2003-ben van. -# IN : A 2002--2003. -# OUT: A 2002--2003. -IN : A 2002--2003-ben. -OUT: A 2002--2003-ben. - -%-ot tartalmazo szamok -IN : A -0,99% van. -OUT: A -0,99% van. -IN : A -0,99%-ben van. -OUT: A -0,99%-ben van. -IN : A -0,99%. -OUT: A -0,99%. -IN : A -0,99%-ben. -OUT: A -0,99%-ben. - -IN : A 10--20% van. -OUT: A 10--20% van. -IN : A 10--20%-ben van. -OUT: A 10--20%-ben van. -IN : A 10--20%. -OUT: A 10--20%. -IN : A 10--20%-ben. -OUT: A 10--20%-ben. - -§-t tartalmazo szamok -IN : A 99§ van. -OUT: A 99§ van. -IN : A 99§-ben van. -OUT: A 99§-ben van. -# IN : A 99§. -# OUT: A 99§. -IN : A 99§-ben. -OUT: A 99§-ben. - -IN : A 10--20§ van. -OUT: A 10--20§ van. -IN : A 10--20§-ben van. -OUT: A 10--20§-ben van. -# IN : A 10--20§. -# OUT: A 10--20§. -IN : A 10--20§-ben. -OUT: A 10--20§-ben. - -°-t tartalmazo szamok -IN : A 99° van. -OUT: A 99° van. -IN : A 99°-ben van. -OUT: A 99°-ben van. -# IN : A 99°. -# OUT: A 99°. -IN : A 99°-ben. -OUT: A 99°-ben. - -IN : A 10--20° van. -OUT: A 10--20° van. -IN : A 10--20°-ben van. -OUT: A 10--20°-ben van. -# IN : A 10--20°. -# OUT: A 10--20°. -IN : A 10--20°-ben. -OUT: A 10--20°-ben. - -(ez nem szam, de ide jon) -IN : A °C van. -OUT: A °C van. -IN : A °C-ben van. -OUT: A °C-ben van. -IN : A °C. -OUT: A °C. -IN : A °C-ben. -OUT: A °C-ben. - -IN : A 100°C van. -OUT: A 100°C van. -IN : A 100°C-ben van. -OUT: A 100°C-ben van. -IN : A 100°C. -OUT: A 100°C. -IN : A 100°C-ben. -OUT: A 100°C-ben. - -euroz, dollaz, yeniz -# IN : A $1,000 van. -# OUT: A $1,000 van. -# IN : A $1,000-ben van. -# OUT: A $1,000-ben van. -# IN : A $1,000. -# OUT: A $1,000. -# IN : A $1,000-ben. -# OUT: A $1,000-ben. - -# IN : A €1,000 van. -# OUT: A €1,000 van. -I# N : A €1,000-ben van. -# OUT: A €1,000-ben van. -# IN : A €1,000. -# OUT: A €1,000. -# IN : A €1,000-ben. -# OUT: A €1,000-ben. - -# IN : A ¥1,000 van. -# OUT: A ¥1,000 van. -# IN : A ¥1,000-ben van. -# OUT: A ¥1,000-ben van. -# IN : A ¥1,000. -# OUT: A ¥1,000. -# IN : A ¥1,000-ben. -# OUT: A ¥1,000-ben. - -# IN : A £1,000 van. -# OUT: A £1,000 van. -# IN : A £1,000-ben van. -# OUT: A £1,000-ben van. -# IN : A £1,000. -# OUT: A £1,000. -# IN : A £1,000-ben. -# OUT: A £1,000-ben. - -#aranyok -#IN : A 1645kJ/1000g van. -#OUT: A 1645kJ/1000g van. -#IN : A 1645kJ/1000g-ben van. -#OUT: A 1645kJ/1000g-ben van. -#IN : A 1645kJ/1000g. -#OUT: A 1645kJ/1000g. -#IN : A 1645kJ/1000g-ben. -#OUT: A 1645kJ/1000g-ben. - -#IN : A 1645 kJ/1000g van. -#OUT: A 1645 kJ/1000g van. -#IN : A 1645 kJ/1000g-ben van. -#OUT: A 1645 kJ/1000g-ben van. -#IN : A 1645 kJ/1000g. -#OUT: A 1645 kJ/1000g. -#IN : A 1645 kJ/1000g-ben. -#OUT: A 1645 kJ/1000g-ben. - -meretek -IN : A 800x600 van. -OUT: A 800x600 van. -IN : A 800x600-ben van. -OUT: A 800x600-ben van. -#IN : A 800x600. -#OUT: A 800x600. -IN : A 800x600-ben. -OUT: A 800x600-ben. - -IN : A 1x2x3x4 van. -OUT: A 1x2x3x4 van. -IN : A 1x2x3x4-ben van. -OUT: A 1x2x3x4-ben van. -#IN : A 1x2x3x4. -#OUT: A 1x2x3x4. -IN : A 1x2x3x4-ben. -OUT: A 1x2x3x4-ben. - -tortszamok -#IN : A 5/4 van. -#OUT: A 5/4 van. -#IN : A 5/4-ben van. -#OUT: A 5/4-ben van. -#IN : A 5/4. -#OUT: A 5/4. -#IN : A 5/4-ben. -#OUT: A 5/4-ben. - -#IN : A 5/4. van. -#OUT: A 5/4. van. -#IN : A 5/4.-ben van. -#OUT: A 5/4.-ben van. -#IN : A 5/4.-ben. -#OUT: A 5/4.-ben. - -egyeb szamok perjellel -IN : A 5/J van. -OUT: A 5/J van. -IN : A 5/J-ben van. -OUT: A 5/J-ben van. -#IN : A 5/J. -#OUT: A 5/J. -IN : A 5/J-ben. -OUT: A 5/J-ben. - -IN : A 5/J. van. -OUT: A 5/J. van. -IN : A 5/J.-ben van. -OUT: A 5/J.-ben van. -IN : A 5/J.-ben. -OUT: A 5/J.-ben. - -romai szamok perjellel -IN : A III/1 van. -OUT: A III/1 van. -IN : A III/1-ben van. -OUT: A III/1-ben van. -#IN : A III/1. -#OUT: A III/1. -IN : A III/1-ben. -OUT: A III/1-ben. - -IN : A III/1. van. -OUT: A III/1. van. -IN : A III/1.-ben van. -OUT: A III/1.-ben van. -IN : A III/1.-ben. -OUT: A III/1.-ben. - -IN : A III/c van. -OUT: A III/c van. -IN : A III/c-ben van. -OUT: A III/c-ben van. -IN : A III/c. -OUT: A III/c. -IN : A III/c-ben. -OUT: A III/c-ben. - -egyeb azonositok -IN : A TU–154 van. -OUT: A TU–154 van. -IN : A TU–154-ben van. -OUT: A TU–154-ben van. -#IN : A TU–154. -#OUT: A TU–154. -IN : A TU–154-ben. -OUT: A TU–154-ben. - -szamok es nagybetuk legalabb ket perjellel -#IN : A BDE/2000/01/0983/0010 van. -#OUT: A BDE/2000/01/0983/0010 van. -#IN : A BDE/2000/01/0983/0010-ben van. -#OUT: A BDE/2000/01/0983/0010-ben van. -#IN : A BDE/2000/01/0983/0010. -#OUT: A BDE/2000/01/0983/0010. -#IN : A BDE/2000/01/0983/0010-ben. -#OUT: A BDE/2000/01/0983/0010-ben. - - - MINTA - IN : A van. - OUT: A van. - IN : A -ben van. - OUT: A -ben van. - IN : A . - OUT: A . - IN : A -ben. - OUT: A -ben. - diff --git a/spacy/tests/hu/tokenizer/test_default_token_quote.txt b/spacy/tests/hu/tokenizer/test_default_token_quote.txt deleted file mode 100644 index c334e5246..000000000 --- a/spacy/tests/hu/tokenizer/test_default_token_quote.txt +++ /dev/null @@ -1,22 +0,0 @@ -# TOKEN quote - -mondatban -IN : Az "Ime, hat"-ban irja. -OUT: Az "Ime, hat"-ban irja. - -mondat elejen -IN : "Ime, hat"-ban irja. -OUT: "Ime, hat"-ban irja. - -mondat vegen -IN : Az "Ime, hat". -OUT: Az "Ime, hat". - -magaban -IN : Egy 24"-os monitor. -OUT: Egy 24"-os monitor. - -aposztrof -IN : A don't van. -OUT: A don't van. - diff --git a/spacy/tests/hu/tokenizer/test_tokenizer.py b/spacy/tests/hu/tokenizer/test_tokenizer.py index 0d4689226..fb600aa11 100644 --- a/spacy/tests/hu/tokenizer/test_tokenizer.py +++ b/spacy/tests/hu/tokenizer/test_tokenizer.py @@ -1,68 +1,216 @@ -import os -import re - import pytest from spacy.hu import Hungarian -_MODULE_PATH = os.path.dirname(__file__) +_DEFAULT_TESTS = [('N. kormányzósági\nszékhely.', ['N.', 'kormányzósági', 'székhely', '.']), + ('A .hu egy tld.', ['A', '.hu', 'egy', 'tld', '.']), + ('Az egy.ketto pelda.', ['Az', 'egy.ketto', 'pelda', '.']), + ('A pl. rovidites.', ['A', 'pl.', 'rovidites', '.']), + ('A S.M.A.R.T. szo.', ['A', 'S.M.A.R.T.', 'szo', '.']), + ('A .hu.', ['A', '.hu', '.']), + ('Az egy.ketto.', ['Az', 'egy.ketto', '.']), + ('A pl.', ['A', 'pl.']), + ('A S.M.A.R.T.', ['A', 'S.M.A.R.T.']), + ('Egy..ket.', ['Egy', '..', 'ket', '.']), + ('Valami... van.', ['Valami', '...', 'van', '.']), + ('Valami ...van...', ['Valami', '...', 'van', '...']), + ('Valami...', ['Valami', '...']), + ('Valami ...', ['Valami', '...']), + ('Valami ... más.', ['Valami', '...', 'más', '.'])] +_HYPHEN_TESTS = [ + ('Egy -nak, -jaiért, -magyar, bel- van.', ['Egy', '-nak', ',', '-jaiért', ',', '-magyar', ',', 'bel-', 'van', '.']), + ('Egy -nak.', ['Egy', '-nak', '.']), + ('Egy bel-.', ['Egy', 'bel-', '.']), + ('Dinnye-domb-.', ['Dinnye-domb-', '.']), + ('Ezen -e elcsatangolt.', ['Ezen', '-e', 'elcsatangolt', '.']), + ('Lakik-e', ['Lakik', '-e']), + ('Lakik-e?', ['Lakik', '-e', '?']), + ('Lakik-e.', ['Lakik', '-e', '.']), + ('Lakik-e...', ['Lakik', '-e', '...']), + ('Lakik-e... van.', ['Lakik', '-e', '...', 'van', '.']), + ('Lakik-e van?', ['Lakik', '-e', 'van', '?']), + ('Lakik-elem van?', ['Lakik-elem', 'van', '?']), + ('Van lakik-elem.', ['Van', 'lakik-elem', '.']), + ('A 7-es busz?', ['A', '7-es', 'busz', '?']), + ('A 7-es?', ['A', '7-es', '?']), + ('A 7-es.', ['A', '7-es', '.']), + ('Ez (lakik)-e?', ['Ez', '(', 'lakik', ')', '-e', '?']), + ('A %-sal.', ['A', '%-sal', '.']), + ('A CD-ROM-okrol.', ['A', 'CD-ROM-okrol', '.'])] -class TokenizerTestCase(object): - INPUT_PREFIX = "IN :" - OUTPUT_PREFIX = "OUT:" - WORD_PATTERN = re.compile(r"<([wc])>([^<>]+)") +_NUMBER_TESTS = [('A 2b van.', ['A', '2b', 'van', '.']), + ('A 2b-ben van.', ['A', '2b-ben', 'van', '.']), + ('A 2b.', ['A', '2b', '.']), + ('A 2b-ben.', ['A', '2b-ben', '.']), + ('A 3.b van.', ['A', '3.b', 'van', '.']), + ('A 3.b-ben van.', ['A', '3.b-ben', 'van', '.']), + ('A 3.b.', ['A', '3.b', '.']), + ('A 3.b-ben.', ['A', '3.b-ben', '.']), + ('A 1:20:36.7 van.', ['A', '1:20:36.7', 'van', '.']), + ('A 1:20:36.7-ben van.', ['A', '1:20:36.7-ben', 'van', '.']), + ('A 1:20:36.7-ben.', ['A', '1:20:36.7-ben', '.']), + ('A 1:35 van.', ['A', '1:35', 'van', '.']), + ('A 1:35-ben van.', ['A', '1:35-ben', 'van', '.']), + ('A 1:35-ben.', ['A', '1:35-ben', '.']), + ('A 1.35 van.', ['A', '1.35', 'van', '.']), + ('A 1.35-ben van.', ['A', '1.35-ben', 'van', '.']), + ('A 1.35-ben.', ['A', '1.35-ben', '.']), + ('A 4:01,95 van.', ['A', '4:01,95', 'van', '.']), + ('A 4:01,95-ben van.', ['A', '4:01,95-ben', 'van', '.']), + ('A 4:01,95-ben.', ['A', '4:01,95-ben', '.']), + ('A 10--12 van.', ['A', '10--12', 'van', '.']), + ('A 10--12-ben van.', ['A', '10--12-ben', 'van', '.']), + ('A 10--12-ben.', ['A', '10--12-ben', '.']), + ('A 10‐12 van.', ['A', '10‐12', 'van', '.']), + ('A 10‐12-ben van.', ['A', '10‐12-ben', 'van', '.']), + ('A 10‐12-ben.', ['A', '10‐12-ben', '.']), + ('A 10‑12 van.', ['A', '10‑12', 'van', '.']), + ('A 10‑12-ben van.', ['A', '10‑12-ben', 'van', '.']), + ('A 10‑12-ben.', ['A', '10‑12-ben', '.']), + ('A 10‒12 van.', ['A', '10‒12', 'van', '.']), + ('A 10‒12-ben van.', ['A', '10‒12-ben', 'van', '.']), + ('A 10‒12-ben.', ['A', '10‒12-ben', '.']), + ('A 10–12 van.', ['A', '10–12', 'van', '.']), + ('A 10–12-ben van.', ['A', '10–12-ben', 'van', '.']), + ('A 10–12-ben.', ['A', '10–12-ben', '.']), + ('A 10—12 van.', ['A', '10—12', 'van', '.']), + ('A 10—12-ben van.', ['A', '10—12-ben', 'van', '.']), + ('A 10—12-ben.', ['A', '10—12-ben', '.']), + ('A 10―12 van.', ['A', '10―12', 'van', '.']), + ('A 10―12-ben van.', ['A', '10―12-ben', 'van', '.']), + ('A 10―12-ben.', ['A', '10―12-ben', '.']), + ('A -23,12 van.', ['A', '-23,12', 'van', '.']), + ('A -23,12-ben van.', ['A', '-23,12-ben', 'van', '.']), + ('A -23,12-ben.', ['A', '-23,12-ben', '.']), + ('A 2+3 van.', ['A', '2', '+', '3', 'van', '.']), + ('A 2 +3 van.', ['A', '2', '+', '3', 'van', '.']), + ('A 2+ 3 van.', ['A', '2', '+', '3', 'van', '.']), + ('A 2 + 3 van.', ['A', '2', '+', '3', 'van', '.']), + ('A 2*3 van.', ['A', '2', '*', '3', 'van', '.']), + ('A 2 *3 van.', ['A', '2', '*', '3', 'van', '.']), + ('A 2* 3 van.', ['A', '2', '*', '3', 'van', '.']), + ('A 2 * 3 van.', ['A', '2', '*', '3', 'van', '.']), + ('A C++ van.', ['A', 'C++', 'van', '.']), + ('A C++-ben van.', ['A', 'C++-ben', 'van', '.']), + ('A C++.', ['A', 'C++', '.']), + ('A C++-ben.', ['A', 'C++-ben', '.']), + ('A 2003. I. 06. van.', ['A', '2003.', 'I.', '06.', 'van', '.']), + ('A 2003. I. 06-ben van.', ['A', '2003.', 'I.', '06-ben', 'van', '.']), + ('A 2003. I. 06.', ['A', '2003.', 'I.', '06.']), + ('A 2003. I. 06-ben.', ['A', '2003.', 'I.', '06-ben', '.']), + ('A 2003. 01. 06. van.', ['A', '2003.', '01.', '06.', 'van', '.']), + ('A 2003. 01. 06-ben van.', ['A', '2003.', '01.', '06-ben', 'van', '.']), + ('A 2003. 01. 06.', ['A', '2003.', '01.', '06.']), + ('A 2003. 01. 06-ben.', ['A', '2003.', '01.', '06-ben', '.']), + ('A IV. 12. van.', ['A', 'IV.', '12.', 'van', '.']), + ('A IV. 12-ben van.', ['A', 'IV.', '12-ben', 'van', '.']), + ('A IV. 12.', ['A', 'IV.', '12.']), + ('A IV. 12-ben.', ['A', 'IV.', '12-ben', '.']), + ('A 2003.01.06. van.', ['A', '2003.01.06.', 'van', '.']), + ('A 2003.01.06-ben van.', ['A', '2003.01.06-ben', 'van', '.']), + ('A 2003.01.06.', ['A', '2003.01.06.']), + ('A 2003.01.06-ben.', ['A', '2003.01.06-ben', '.']), + ('A IV.12. van.', ['A', 'IV.12.', 'van', '.']), + ('A IV.12-ben van.', ['A', 'IV.12-ben', 'van', '.']), + ('A IV.12.', ['A', 'IV.12.']), + ('A IV.12-ben.', ['A', 'IV.12-ben', '.']), + ('A 1.1.2. van.', ['A', '1.1.2.', 'van', '.']), + ('A 1.1.2-ben van.', ['A', '1.1.2-ben', 'van', '.']), + ('A 1.1.2.', ['A', '1.1.2.']), + ('A 1.1.2-ben.', ['A', '1.1.2-ben', '.']), + ('A 1,5--2,5 van.', ['A', '1,5--2,5', 'van', '.']), + ('A 1,5--2,5-ben van.', ['A', '1,5--2,5-ben', 'van', '.']), + ('A 1,5--2,5-ben.', ['A', '1,5--2,5-ben', '.']), + ('A 3,14 van.', ['A', '3,14', 'van', '.']), + ('A 3,14-ben van.', ['A', '3,14-ben', 'van', '.']), + ('A 3,14-ben.', ['A', '3,14-ben', '.']), + ('A 3.14 van.', ['A', '3.14', 'van', '.']), + ('A 3.14-ben van.', ['A', '3.14-ben', 'van', '.']), + ('A 3.14-ben.', ['A', '3.14-ben', '.']), + ('A 15. van.', ['A', '15.', 'van', '.']), + ('A 15-ben van.', ['A', '15-ben', 'van', '.']), + ('A 15-ben.', ['A', '15-ben', '.']), + ('A 15.-ben van.', ['A', '15.-ben', 'van', '.']), + ('A 15.-ben.', ['A', '15.-ben', '.']), + ('A 2002--2003. van.', ['A', '2002--2003.', 'van', '.']), + ('A 2002--2003-ben van.', ['A', '2002--2003-ben', 'van', '.']), + ('A 2002--2003-ben.', ['A', '2002--2003-ben', '.']), + ('A -0,99% van.', ['A', '-0,99%', 'van', '.']), + ('A -0,99%-ben van.', ['A', '-0,99%-ben', 'van', '.']), + ('A -0,99%.', ['A', '-0,99%', '.']), + ('A -0,99%-ben.', ['A', '-0,99%-ben', '.']), + ('A 10--20% van.', ['A', '10--20%', 'van', '.']), + ('A 10--20%-ben van.', ['A', '10--20%-ben', 'van', '.']), + ('A 10--20%.', ['A', '10--20%', '.']), + ('A 10--20%-ben.', ['A', '10--20%-ben', '.']), + ('A 99§ van.', ['A', '99§', 'van', '.']), + ('A 99§-ben van.', ['A', '99§-ben', 'van', '.']), + ('A 99§-ben.', ['A', '99§-ben', '.']), + ('A 10--20§ van.', ['A', '10--20§', 'van', '.']), + ('A 10--20§-ben van.', ['A', '10--20§-ben', 'van', '.']), + ('A 10--20§-ben.', ['A', '10--20§-ben', '.']), + ('A 99° van.', ['A', '99°', 'van', '.']), + ('A 99°-ben van.', ['A', '99°-ben', 'van', '.']), + ('A 99°-ben.', ['A', '99°-ben', '.']), + ('A 10--20° van.', ['A', '10--20°', 'van', '.']), + ('A 10--20°-ben van.', ['A', '10--20°-ben', 'van', '.']), + ('A 10--20°-ben.', ['A', '10--20°-ben', '.']), + ('A °C van.', ['A', '°C', 'van', '.']), + ('A °C-ben van.', ['A', '°C-ben', 'van', '.']), + ('A °C.', ['A', '°C', '.']), + ('A °C-ben.', ['A', '°C-ben', '.']), + ('A 100°C van.', ['A', '100°C', 'van', '.']), + ('A 100°C-ben van.', ['A', '100°C-ben', 'van', '.']), + ('A 100°C.', ['A', '100°C', '.']), + ('A 100°C-ben.', ['A', '100°C-ben', '.']), + ('A 800x600 van.', ['A', '800x600', 'van', '.']), + ('A 800x600-ben van.', ['A', '800x600-ben', 'van', '.']), + ('A 800x600-ben.', ['A', '800x600-ben', '.']), + ('A 1x2x3x4 van.', ['A', '1x2x3x4', 'van', '.']), + ('A 1x2x3x4-ben van.', ['A', '1x2x3x4-ben', 'van', '.']), + ('A 1x2x3x4-ben.', ['A', '1x2x3x4-ben', '.']), + ('A 5/J van.', ['A', '5/J', 'van', '.']), + ('A 5/J-ben van.', ['A', '5/J-ben', 'van', '.']), + ('A 5/J-ben.', ['A', '5/J-ben', '.']), + ('A 5/J. van.', ['A', '5/J.', 'van', '.']), + ('A 5/J.-ben van.', ['A', '5/J.-ben', 'van', '.']), + ('A 5/J.-ben.', ['A', '5/J.-ben', '.']), + ('A III/1 van.', ['A', 'III/1', 'van', '.']), + ('A III/1-ben van.', ['A', 'III/1-ben', 'van', '.']), + ('A III/1-ben.', ['A', 'III/1-ben', '.']), + ('A III/1. van.', ['A', 'III/1.', 'van', '.']), + ('A III/1.-ben van.', ['A', 'III/1.-ben', 'van', '.']), + ('A III/1.-ben.', ['A', 'III/1.-ben', '.']), + ('A III/c van.', ['A', 'III/c', 'van', '.']), + ('A III/c-ben van.', ['A', 'III/c-ben', 'van', '.']), + ('A III/c.', ['A', 'III/c', '.']), + ('A III/c-ben.', ['A', 'III/c-ben', '.']), + ('A TU–154 van.', ['A', 'TU–154', 'van', '.']), + ('A TU–154-ben van.', ['A', 'TU–154-ben', 'van', '.']), + ('A TU–154-ben.', ['A', 'TU–154-ben', '.'])] - def __init__(self, input_str, expected_words): - self.input = input_str - self.expected_tokens = expected_words +_QUTE_TESTS = [('Az "Ime, hat"-ban irja.', ['Az', '"', 'Ime', ',', 'hat', '"', '-ban', 'irja', '.']), + ('"Ime, hat"-ban irja.', ['"', 'Ime', ',', 'hat', '"', '-ban', 'irja', '.']), + ('Az "Ime, hat".', ['Az', '"', 'Ime', ',', 'hat', '"', '.']), + ('Egy 24"-os monitor.', ['Egy', '24', '"', '-os', 'monitor', '.']), + ("A don't van.", ['A', "don't", 'van', '.'])] - def __repr__(self): - return "TokenizerTestCase".format(repr(self.input), self.expected_tokens) - - def to_tuple(self): - return (self.input, self.expected_tokens) - - @classmethod - def _parse_output_line(cls, line): - for match in cls.WORD_PATTERN.finditer(line): - yield match.group(2) - - @classmethod - def read_from_file(cls, path): - with open(path) as f: - input_lines = [] - output_words = [] - last_type = None - for line in f: - if line.startswith(cls.INPUT_PREFIX): - if last_type == TokenizerTestCase.OUTPUT_PREFIX and input_lines: - yield TokenizerTestCase("\n".join(input_lines), output_words) - input_lines = [] - output_words = [] - input_lines.append(line[len(cls.INPUT_PREFIX):].strip()) - last_type = TokenizerTestCase.INPUT_PREFIX - elif line.startswith(cls.OUTPUT_PREFIX): - output_words.extend(list(cls._parse_output_line(line.strip()))) - last_type = TokenizerTestCase.OUTPUT_PREFIX - else: - # Comments separate test cases - if input_lines: - yield TokenizerTestCase("\n".join(input_lines), output_words) - input_lines = [] - output_words = [] - last_type = None - - -_DOTS_CASES = list(TokenizerTestCase.read_from_file(_MODULE_PATH + "/test_default_token_dots.txt")) -_HYPHEN_CASES = list(TokenizerTestCase.read_from_file(_MODULE_PATH + "/test_default_token_hyphen.txt")) -_QUOTE_CASES = list(TokenizerTestCase.read_from_file(_MODULE_PATH + "/test_default_token_quote.txt")) -_NUMBER_CASES = list(TokenizerTestCase.read_from_file(_MODULE_PATH + "/test_default_token_numbers.txt")) -_MISC_CASES = list(TokenizerTestCase.read_from_file(_MODULE_PATH + "/test_default_token_misc.txt")) -_IT_CASES = list(TokenizerTestCase.read_from_file(_MODULE_PATH + "/test_default_token_it.txt")) - -# TODO: Until this get fixed we cannot really test the urls: https://github.com/explosion/spaCy/issues/344 -ALL_TESTCASES = _DOTS_CASES + _HYPHEN_CASES + _QUOTE_CASES + _NUMBER_CASES + _MISC_CASES # + _IT_CASES +_DOT_TESTS = [('N. kormányzósági\nszékhely.', ['N.', 'kormányzósági', 'székhely', '.']), + ('A .hu egy tld.', ['A', '.hu', 'egy', 'tld', '.']), + ('Az egy.ketto pelda.', ['Az', 'egy.ketto', 'pelda', '.']), + ('A pl. rovidites.', ['A', 'pl.', 'rovidites', '.']), + ('A S.M.A.R.T. szo.', ['A', 'S.M.A.R.T.', 'szo', '.']), + ('A .hu.', ['A', '.hu', '.']), + ('Az egy.ketto.', ['Az', 'egy.ketto', '.']), + ('A pl.', ['A', 'pl.']), + ('A S.M.A.R.T.', ['A', 'S.M.A.R.T.']), + ('Egy..ket.', ['Egy', '..', 'ket', '.']), + ('Valami... van.', ['Valami', '...', 'van', '.']), + ('Valami ...van...', ['Valami', '...', 'van', '...']), + ('Valami...', ['Valami', '...']), + ('Valami ...', ['Valami', '...']), + ('Valami ... más.', ['Valami', '...', 'más', '.'])] @pytest.fixture(scope="session") @@ -75,8 +223,9 @@ def hu_tokenizer(HU): return HU.tokenizer -@pytest.mark.parametrize(("test_case"), ALL_TESTCASES) -def test_testcases(hu_tokenizer, test_case): - tokens = hu_tokenizer(test_case.input) +@pytest.mark.parametrize(("input", "expected_tokens"), + _DEFAULT_TESTS + _HYPHEN_TESTS + _NUMBER_TESTS + _DOT_TESTS + _QUTE_TESTS) +def test_testcases(hu_tokenizer, input, expected_tokens): + tokens = hu_tokenizer(input) token_list = [token.orth_ for token in tokens if not token.is_space] - assert test_case.expected_tokens == token_list # , "{} was erronously tokenized as {}".format(test_case, token_list) + assert expected_tokens == token_list