2017-01-05 17:11:25 +00:00
|
|
|
# coding: utf-8
|
|
|
|
"""Test that longer and mixed texts are tokenized correctly."""
|
|
|
|
|
|
|
|
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
def test_tokenizer_handles_long_text(de_tokenizer):
|
|
|
|
text = """Die Verwandlung
|
|
|
|
|
2017-01-05 17:13:30 +00:00
|
|
|
Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in
|
|
|
|
seinem Bett zu einem ungeheueren Ungeziefer verwandelt.
|
2017-01-05 17:11:25 +00:00
|
|
|
|
2017-01-05 17:13:30 +00:00
|
|
|
Er lag auf seinem panzerartig harten Rücken und sah, wenn er den Kopf ein wenig
|
|
|
|
hob, seinen gewölbten, braunen, von bogenförmigen Versteifungen geteilten
|
|
|
|
Bauch, auf dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten bereit,
|
|
|
|
kaum noch erhalten konnte. Seine vielen, im Vergleich zu seinem sonstigen
|
|
|
|
Umfang kläglich dünnen Beine flimmerten ihm hilflos vor den Augen.
|
2017-01-05 17:11:25 +00:00
|
|
|
|
|
|
|
»Was ist mit mir geschehen?«, dachte er."""
|
|
|
|
|
|
|
|
tokens = de_tokenizer(text)
|
2017-01-05 17:13:30 +00:00
|
|
|
assert len(tokens) == 109
|
2017-01-05 17:11:25 +00:00
|
|
|
|
|
|
|
|
2017-09-16 18:40:15 +00:00
|
|
|
@pytest.mark.parametrize('text', [
|
|
|
|
"Donaudampfschifffahrtsgesellschaftskapitänsanwärterposten",
|
|
|
|
"Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz",
|
|
|
|
"Kraftfahrzeug-Haftpflichtversicherung",
|
|
|
|
"Vakuum-Mittelfrequenz-Induktionsofen"
|
2017-01-05 17:11:25 +00:00
|
|
|
])
|
2017-09-16 18:40:15 +00:00
|
|
|
def test_tokenizer_handles_long_words(de_tokenizer, text):
|
2017-01-05 17:11:25 +00:00
|
|
|
tokens = de_tokenizer(text)
|
2017-09-16 18:40:15 +00:00
|
|
|
assert len(tokens) == 1
|
2017-01-05 17:11:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('text,length', [
|
|
|
|
("»Was ist mit mir geschehen?«, dachte er.", 12),
|
|
|
|
("“Dies frühzeitige Aufstehen”, dachte er, “macht einen ganz blödsinnig. ", 15)
|
|
|
|
])
|
|
|
|
def test_tokenizer_handles_examples(de_tokenizer, text, length):
|
|
|
|
tokens = de_tokenizer(text)
|
|
|
|
assert len(tokens) == length
|