o
    i	                     @   st   d dl Z zd dlmZ W n ey   d dlmZ Y nw d dlmZ d dlmZ d dl	m
Z
 d dlmZ dd ZdS )	    N)
StrictBool)ConfigValidationError)English)Language)Examplec                     s  d} G dd d}G dd d t j|  fddd t }||j|_t|d	i fd
d}||  ddi| i id}|jd | t	
t}|| W d    n1 s]w   Y  |jj}t|dksnJ |d d dksxJ |d d dksJ ddi| d	ddid}|jd | t	
t}|| W d    n1 sw   Y  |jj}t|dksJ |d d dksJ |d d dksJ ddi| dd	iid}|jd | || |jjdksJ || }|jdksJ d S )Ntest_initialize_argumentsc                   @   s*   e Zd Zdd Zdd ZdefddZdS )	z2test_initialize_arguments.<locals>.CustomTokenizerc                 S   s   || _ d | _d S N)	tokenizerfrom_initialize)selfr	    r   X/home/ubuntu/.local/lib/python3.10/site-packages/spacy/tests/pipeline/test_initialize.py__init__   s   
z;test_initialize_arguments.<locals>.CustomTokenizer.__init__c                 S   s
   |  |S r   )r	   )r   textr   r   r   __call__      
z;test_initialize_arguments.<locals>.CustomTokenizer.__call__customc                 S   s
   || _ d S r   r
   )r   get_examplesnlpr   r   r   r   
initialize   r   z=test_initialize_arguments.<locals>.CustomTokenizer.initializeN)__name__
__module____qualname__r   r   intr   r   r   r   r   CustomTokenizer   s    r   c                   @   s*   e Zd Zdd Z	d	dedefddZdS )
z,test_initialize_arguments.<locals>.Componentc                 S   s
   d | _ d S r   r   )r   r   r   r   r      r   z5test_initialize_arguments.<locals>.Component.__init__Fcustom1custom2c                 S   s   ||f| _ d S r   r   )r   r   r   r   r   r   r   r   r   !   s   z7test_initialize_arguments.<locals>.Component.initializeN)F)r   r   r   r   strr   r   r   r   r   r   	Component   s    r   c                    s     S r   r   )r   name)r   r   r   <lambda>&       z+test_initialize_arguments.<locals>.<lambda>)funcxc                      s    gS r   r   r   )exampler   r   r!   +   r"   r      )r	   
componentsr   r   loc)r   typezvalue_error.missing)r   r   )r   zvalue_error.strictboolr   )r$   F)r   factoryr   r	   r   	from_dictadd_pipeconfigupdatepytestraisesr   r   valueerrorslenr
   get_pipe)r    r   r   r   init_cfger2   piper   )r   r%   r   r      sJ   	



r   )r/   pydantic.v1r   ImportErrorpydantic	thinc.apir   spacy.lang.enr   spacy.languager   spacy.trainingr   r   r   r   r   r   <module>   s    