o
    i                     @   sn   d dl Z d dlZd dlmZmZ d dlmZ d dlmZ ddlm	Z	 ej
dd Zd	d
 Zdd Zdd ZdS )    N)registryutil)English)Lookups   )make_tempdirc                  C   s6   t ddd } t }dddii|jd d d< |S )	Ncope_lookupsc                  S   V   t  } | dddd | dddi | dddd	ii | d
dddggi | S Nlemma_lookupcope)r   copedlemma_indexverb)r   cop	lemma_exccoping)r   lemma_rulesing r   	add_tablelookups r   X/home/ubuntu/.local/lib/python3.10/site-packages/spacy/tests/pipeline/test_lemmatizer.pyr      s   znlp.<locals>.cope_lookupsr   z@misc
initialize
components
lemmatizer)r   miscr   config)r   nlpr   r   r   r!      s   
r!   c                 C   sX  | j dddid}t|jtsJ |jjrJ |jdksJ tt | d W d    n1 s2w   Y  | 	  |jjsAJ | dd j
dksLJ | dd j
dksWJ t |_| dd j
dksfJ | dd j
dksqJ | d | j dddid}tt |j	t d	 W d    n1 sw   Y  t }|d
i  |j	|d	 d S )Nr   modelookupr    testr   r   r   r   r   )add_pipe
isinstancer   r   tablesr"   pytestraises
ValueErrorr   lemma_remove_piper   )r!   r   r   r   r   r   test_lemmatizer_init   s,   

r.   c                 C   s  | j dddid}|   | d}tt ||}W d    n1 s&w   Y  ||}| d}|d jdks=J d|d _||}||}|d jdksSJ |d jd	ks\J | d}d|d _|d jdksoJ ||}|d jdks|J |d jd	ksJ d S )
Nr   r"   ruler$   r   r   r   VERBr   )	r&   r   make_docr)   warnsUserWarningr,   pos_text)r!   r   docr   r   r   test_lemmatizer_config8   s(   





r7   c                 C   s  | j dddid}|   dd }t }|j dddid}|j| d ||  | | ks5J |jj|jjks?J t }| | t	
|}W d    n1 sWw   Y  |d}d	|d
 _|d
 jdksoJ ||}|d
 jdks|J |d
 jdksJ t| d S )Nr   r"   r/   r$   c                  S   r	   r
   r   r   r   r   r   r   X   s   z/test_lemmatizer_serialize.<locals>.cope_lookupsr   r   r0   r   r   r   )r&   r   r   
from_bytesto_bytesr   r(   r   to_diskr   load_model_from_pathr1   r4   r,   r5   pickledumps)r!   r   r   nlp2lemmatizer2tmp_dirdoc2r   r   r   test_lemmatizer_serializeT   s(   


rB   )r<   r)   spacyr   r   spacy.lang.enr   spacy.lookupsr   r   fixturer!   r.   r7   rB   r   r   r   r   <module>   s    
