# coding: utf-8
from __future__ import unicode_literals

import pytest
from spacy.lang.tr.lex_attrs import like_num


def test_tr_tokenizer_handles_long_text(tr_tokenizer):
    text = """Pamuk nasıl ipliğe dönüştürülür?

Sıkıştırılmış balyalar halindeki pamuk, iplik fabrikasına getirildiğinde hem 
lifleri birbirine dolaşmıştır, hem de tarladan toplanırken araya bitkinin 
parçaları karışmıştır. Üstelik balyalardaki pamuğun cinsi aynı olsa bile kalitesi 
değişeceğinden, önce bütün balyaların birbirine karıştırılarak harmanlanması gerekir.

Daha sonra pamuk yığınları, liflerin açılıp temizlenmesi için tek bir birim halinde 
birleştirilmiş çeşitli makinelerden geçirilir.Bunlardan biri, dönen tokmaklarıyla
pamuğu dövüp kabartarak dağınık yumaklar haline getiren ve liflerin arasındaki yabancı
maddeleri temizleyen hallaç makinesidir. Daha sonra tarak makinesine giren pamuk demetleri,
herbirinin yüzeyinde yüzbinlerce incecik iğne bulunan döner silindirlerin arasından geçerek lif lif ayrılır
ve tül inceliğinde gevşek bir örtüye dönüşür. Ama bir sonraki makine bu lifleri dağınık 
ve gevşek bir biçimde birbirine yaklaştırarak 2 cm eninde bir pamuk şeridi haline getirir."""
    tokens = tr_tokenizer(text)
    assert len(tokens) == 146




@pytest.mark.parametrize(
    "word",
    [
        "bir",
        "iki",
        "dört",
        "altı",
        "milyon",
        "100",
        "birinci",
        "üçüncü",
        "beşinci",
        "100üncü",
        "8inci"
    ]
)
def test_tr_lex_attrs_like_number_cardinal_ordinal(word):
    assert like_num(word)


@pytest.mark.parametrize("word", ["beş", "yedi", "yedinci", "birinci"])
def test_tr_lex_attrs_capitals(word):
    assert like_num(word)
    assert like_num(word.upper())

