o
    iv                  	   @   s   d dl Z d dlmZ e jdZdd Ze jdddd	gfd
dgfddgfddgfddgfgdd Ze jdg ddd Z	e jdg ddd Z
dd Zdd Ze jddd d! ZdS )"    N)Doczignore::DeprecationWarningc                 C   sT   g d}g d}g d}t | j|||d}| |}dd |D }|g dks(J d S )N   мамаu   мылаu   рамуNOUNVERBr   z,Animacy=Anim|Case=Nom|Gender=Fem|Number=SingzLAspect=Imp|Gender=Fem|Mood=Ind|Number=Sing|Tense=Past|VerbForm=Fin|Voice=Actz,Animacy=Anim|Case=Acc|Gender=Fem|Number=Singwordsposmorphsc                 S      g | ]}|j qS  lemma_.0tokenr   r   W/home/ubuntu/.local/lib/python3.10/site-packages/spacy/tests/lang/ru/test_lemmatizer.py
<listcomp>       z-test_ru_doc_lemmatization.<locals>.<listcomp>)r   u   мытьu   рама)r   vocab)ru_lemmatizerr
   r   r   doclemmasr   r   r   test_ru_doc_lemmatization   s   r   ztext,lemmas   гвоздики   гвоздик   гвоздикаu   людиu   человекu   рекиu   рекаu   кольцоu   пепперониc                 C   s6   t | j|gdgd}| |d }t||ksJ d S )Nr   r
   r   r   )r   r   pymorphy2_lemmatizesorted)r   textr   r   result_lemmasr   r   r   test_ru_lemmatizer_noun_lemmas   s   r$   ztext,pos,morph,lemma)
)   ройr    r%   )r%   r   r&   u   рыть)   клейr   r&   r'   )r'   r   r&   u   клеить)   триNUMr&   r(   )   косr   zNumber=Singr*   )r*   r   zNumber=Pluru   коса)r*   ADJr&   u
   косой)
   потомr   r&   u   пот)r,   ADVr&   r,   c                 C   s8   t | j|g|g|gd}| |d }||gksJ d S )Nr	   r   r   r   r    )r   r"   r   morphlemmar   r#   r   r   r   4test_ru_lemmatizer_works_with_different_pos_homonyms&   s   r1   ztext,morph,lemma))r   
Gender=Femr   )r   zGender=Mascr   )   винаr2   r3   )r3   zGender=Neutu   виноc                 C   s8   t | j|gdg|gd}| |d }||gksJ d S )Nr   r	   r   r.   )r   r"   r/   r0   r   r#   r   r   r   +test_ru_lemmatizer_works_with_noun_homonyms=   s   
r4   c                 C   s\   t | jdgdgd}| |d dgksJ t | jdgdgd}| |d dgks,J d S )N   «PUNCTr   r   "   »r.   )r   r   r   r   r   test_ru_lemmatizer_punctL   s   r9   c                 C   sb   | j dksJ g d}g d}g d}t| j|||d}| |}dd |D }|g dks/J d S )Npymorphy3_lookupr   r   r   r	   c                 S   r   r   r   r   r   r   r   r   ^   r   z4test_ru_doc_lookup_lemmatization.<locals>.<listcomp>)moder   r   )ru_lookup_lemmatizerr
   r   r   r   r   r   r   r    test_ru_doc_lookup_lemmatizationS   s   r=   z
word,lemma))u   бременемu
   бремя)u   будешьu   быть)u   какая-тоu   какой-тоc                 C   s8   | j dksJ t| j|gd}| |d j|ksJ d S )Nr:   )r
   r   )r;   r   r   r   )r<   wordr0   r   r   r   r   test_ru_lookup_lemmatizerb   s   	r?   )pytestspacy.tokensr   markfilterwarnings
pytestmarkr   parametrizer$   r1   r4   r9   r=   r?   r   r   r   r   <module>   s>    




	