2020-10-15 16:55:01 +03:00
|
|
|
|
import pytest
|
2023-06-26 12:41:03 +03:00
|
|
|
|
|
2020-10-15 16:55:01 +03:00
|
|
|
|
from spacy.lang.mk.lex_attrs import like_num
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_tokenizer_handles_long_text(mk_tokenizer):
|
|
|
|
|
text = """
|
2021-01-05 05:41:53 +03:00
|
|
|
|
Во организациските работи или на нашите собранија со членството, никој од нас не зборуваше за
|
|
|
|
|
организацијата и идеологијата. Работна беше нашата работа, а не идеолошка. Што се однесува до социјализмот на
|
|
|
|
|
Делчев, неговата дејност зборува сама за себе - спротивно. Во суштина, водачите си имаа свои основни погледи и
|
|
|
|
|
свои разбирања за положбата и работите, коишто стоеја пред нив и ги завршуваа со голема упорност, настојчивост и
|
|
|
|
|
насоченост. Значи, идеологија имаше, само што нивната идеологија имаше своја оригиналност. Македонија денеска,
|
|
|
|
|
чиста рожба на животот и положбата во Македонија, кои му служеа како база на неговите побуди, беше дејност која
|
|
|
|
|
имаше потреба од ум за да си најде своја смисла. Таквата идеологија и заемното дејство на умот и срцето му
|
|
|
|
|
помогнаа на Делчев да не се занесе по патот на својата идеологија... Во суштина, Организацијата и нејзините
|
|
|
|
|
водачи имаа свои разбирања за работите и положбата во идеен поглед, но тоа беше врската, животот и положбата во
|
|
|
|
|
Македонија и го внесуваа во својата идеологија гласот на своето срце, и на крај, прибегнуваа до умот,
|
|
|
|
|
за да најдат смисла или да ѝ дадат. Тоа содејство и заемен сооднос на умот и срцето му помогнаа на Делчев да ја
|
|
|
|
|
држи својата идеологија во сообразност со положбата на работите... Водачите навистина направија една жртва
|
|
|
|
|
бидејќи на населението не му зборуваа за своите мисли и идеи. Тие се одрекоа од секаква субјективност во своите
|
|
|
|
|
мисли. Целта беше да не се зголемуваат целите и задачите како и преданоста во работата. Населението не можеше да
|
|
|
|
|
ги разбере овие идеи...
|
2020-10-15 16:55:01 +03:00
|
|
|
|
"""
|
|
|
|
|
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),
|
2021-01-05 05:41:53 +03:00
|
|
|
|
],
|
2020-10-15 16:55:01 +03:00
|
|
|
|
)
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
2021-01-05 05:41:53 +03:00
|
|
|
|
@pytest.mark.parametrize("word", ["двесте", "два-три", "пет-шест"])
|
2020-10-15 16:55:01 +03:00
|
|
|
|
def test_mk_lex_attrs_capitals(word):
|
|
|
|
|
assert like_num(word)
|
|
|
|
|
assert like_num(word.upper())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
|
"word",
|
|
|
|
|
[
|
|
|
|
|
"првиот",
|
|
|
|
|
"втора",
|
|
|
|
|
"четврт",
|
|
|
|
|
"четвртата",
|
|
|
|
|
"петти",
|
|
|
|
|
"петто",
|
|
|
|
|
"стоти",
|
|
|
|
|
"шеесетите",
|
2021-01-05 05:41:53 +03:00
|
|
|
|
"седумдесетите",
|
|
|
|
|
],
|
2020-10-15 16:55:01 +03:00
|
|
|
|
)
|
|
|
|
|
def test_mk_lex_attrs_like_number_for_ordinal(word):
|
|
|
|
|
assert like_num(word)
|