"""Test that longer and mixed texts are tokenized correctly.""" import pytest def test_ca_tokenizer_handles_long_text(ca_tokenizer): text = """Una taula amb grans gerres de begudes i palles de coloraines com a reclam. Una carta cridanera amb ofertes de tapes, paelles i sangria. Un cambrer amb un somriure que convida a seure. La ubicació perfecta: el bell mig de la Rambla. Però és la una del migdia d’un dimecres de tardor i no hi ha ningú assegut a la terrassa del local. El dia és rúfol, però no fa fred i a la majoria de terrasses de la Rambla hi ha poca gent. La immensa majoria dels clients -tret d’alguna excepció com al restaurant Núria- són turistes. I la immensa majoria tenen entre mans una gerra de cervesa. Ens asseiem -fotògraf i periodista- en una terrassa buida.""" tokens = ca_tokenizer(text) assert len(tokens) == 138 @pytest.mark.parametrize( "text,length", [ ("Perquè va anar-hi?", 6), ("“Ah no?”", 5), ("""Sí! "Anem", va contestar el Joan Carles""", 11), ("Van córrer aprox. 10km", 5), ("Llavors perqué...", 3), ], ) def test_ca_tokenizer_handles_cnts(ca_tokenizer, text, length): tokens = ca_tokenizer(text) assert len(tokens) == length @pytest.mark.parametrize( "text,match", [ ("10", True), ("1", True), ("10,000", True), ("10,00", True), ("999.0", True), ("un", True), ("dos", True), ("bilió", True), ("gos", False), (",", False), ("1/2", True), ], ) def test_ca_lex_attrs_like_number(ca_tokenizer, text, match): tokens = ca_tokenizer(text) assert len(tokens) == 1 assert tokens[0].like_num == match