mirror of
https://github.com/explosion/spaCy.git
synced 2024-11-16 06:37:04 +03:00
88 lines
4.4 KiB
Python
88 lines
4.4 KiB
Python
|
# coding: utf8
|
|||
|
from __future__ import unicode_literals
|
|||
|
|
|||
|
import pytest
|
|||
|
from spacy.lang.mk.lex_attrs import like_num
|
|||
|
|
|||
|
|
|||
|
def test_tokenizer_handles_long_text(mk_tokenizer):
|
|||
|
text = """
|
|||
|
Во организациските работи или на нашите собранија со членството, никој од нас не зборуваше за
|
|||
|
организацијата и идеологијата. Работна беше нашата работа, а не идеолошка. Што се однесува до социјализмот на
|
|||
|
Делчев, неговата дејност зборува сама за себе - спротивно. Во суштина, водачите си имаа свои основни погледи и
|
|||
|
свои разбирања за положбата и работите, коишто стоеја пред нив и ги завршуваа со голема упорност, настојчивост и
|
|||
|
насоченост. Значи, идеологија имаше, само што нивната идеологија имаше своја оригиналност. Македонија денеска,
|
|||
|
чиста рожба на животот и положбата во Македонија, кои му служеа како база на неговите побуди, беше дејност која
|
|||
|
имаше потреба од ум за да си најде своја смисла. Таквата идеологија и заемното дејство на умот и срцето му
|
|||
|
помогнаа на Делчев да не се занесе по патот на својата идеологија... Во суштина, Организацијата и нејзините
|
|||
|
водачи имаа свои разбирања за работите и положбата во идеен поглед, но тоа беше врската, животот и положбата во
|
|||
|
Македонија и го внесуваа во својата идеологија гласот на своето срце, и на крај, прибегнуваа до умот,
|
|||
|
за да најдат смисла или да ѝ дадат. Тоа содејство и заемен сооднос на умот и срцето му помогнаа на Делчев да ја
|
|||
|
држи својата идеологија во сообразност со положбата на работите... Водачите навистина направија една жртва
|
|||
|
бидејќи на населението не му зборуваа за своите мисли и идеи. Тие се одрекоа од секаква субјективност во своите
|
|||
|
мисли. Целта беше да не се зголемуваат целите и задачите како и преданоста во работата. Населението не можеше да
|
|||
|
ги разбере овие идеи...
|
|||
|
"""
|
|||
|
tokens = mk_tokenizer(text)
|
|||
|
assert len(tokens) == 297
|
|||
|
|
|||
|
|
|||
|
@pytest.mark.parametrize(
|
|||
|
"word,match",
|
|||
|
[
|
|||
|
("10", True),
|
|||
|
("1", True),
|
|||
|
("10.000", True),
|
|||
|
("1000", True),
|
|||
|
("бројка", False),
|
|||
|
("999,0", True),
|
|||
|
("еден", True),
|
|||
|
("два", True),
|
|||
|
("цифра", False),
|
|||
|
("десет", True),
|
|||
|
("сто", True),
|
|||
|
("број", False),
|
|||
|
("илјада", True),
|
|||
|
("илјади", True),
|
|||
|
("милион", True),
|
|||
|
(",", False),
|
|||
|
("милијарда", True),
|
|||
|
("билион", True),
|
|||
|
]
|
|||
|
)
|
|||
|
def test_mk_lex_attrs_like_number(mk_tokenizer, word, match):
|
|||
|
tokens = mk_tokenizer(word)
|
|||
|
assert len(tokens) == 1
|
|||
|
assert tokens[0].like_num == match
|
|||
|
|
|||
|
|
|||
|
@pytest.mark.parametrize(
|
|||
|
"word",
|
|||
|
[
|
|||
|
"двесте",
|
|||
|
"два-три",
|
|||
|
"пет-шест"
|
|||
|
]
|
|||
|
)
|
|||
|
def test_mk_lex_attrs_capitals(word):
|
|||
|
assert like_num(word)
|
|||
|
assert like_num(word.upper())
|
|||
|
|
|||
|
|
|||
|
@pytest.mark.parametrize(
|
|||
|
"word",
|
|||
|
[
|
|||
|
"првиот",
|
|||
|
"втора",
|
|||
|
"четврт",
|
|||
|
"четвртата",
|
|||
|
"петти",
|
|||
|
"петто",
|
|||
|
"стоти",
|
|||
|
"шеесетите",
|
|||
|
"седумдесетите"
|
|||
|
]
|
|||
|
)
|
|||
|
def test_mk_lex_attrs_like_number_for_ordinal(word):
|
|||
|
assert like_num(word)
|