
    i,                        d dl Z d dlZd dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ ej"                  d        Zd Zd	 Zej*                  j-                  d
dg      d        Zej*                  j-                  d
dg      d        Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(y)    N)IS_ALPHAIS_DIGITIS_LOWERIS_PUNCTIS_STOPIS_TITLE)VERBDoc)Example)Vocabc                 8    g d}g d}g d}t        | |||      S )N)Thisisasentence.r   r   anotherr   r   Andr   thirdr   )   r      r   r      r      r   r   
      r   r   )nsubjROOTdetattrpunctr   r   r   r    r!   r   r   npadvmodr!   wordsheadsdepsr
   )en_vocabr$   r%   r&   s       o/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/doc/test_token_api.pydocr)      s*     uE:EAD xuE==    c                    g d}g d}g d}g d}t        | ||||      }|d   j                  dk(  sJ |d   j                  dk(  sJ |d   j                  dk(  sJ |d   j                  d	k(  sJ |d   j
                  d
k(  sJ |d   j                  dk(  sJ |d   j                  dk(  sJ |d   j                  dk(  sJ |d   j                  dk(  sJ y )N)Giveitback!Hepleadedr   )r	   PRONPARTPUNCTr2   r	   r4   )r   r   r   r      r5   r5   )r   dobjprtr!   r   r   r!   )r$   posr%   r&   r   r,   zGive giveXxxxGiver	   r   )
r   orth_texttext_with_wslower_shape_prefix_suffix_pos_dep_)r'   r$   r8   r%   r&   r)   s         r(   test_doc_token_api_stringsrF      s    =E
DC!EED
heE
ECq6<<6!!!q6;;&   q6')))q6==F"""q6==F"""q6>>S   q6>>U"""q6;;&   q6;;&   r*   c                    d} | |      }|d   j                  t              sJ |d   j                  t              rJ |d   j                  t              sJ |d   j                  t              sJ |d   j                  t
              sJ |d   j                  t              sJ |d   j                  t              rJ y )NGive it back! He pleaded.r   r   r      r5   )
check_flagr   r   r   r   r   r   en_tokenizerr>   tokenss      r(   test_doc_token_api_flagsrN   '   s    &D$F!9)))ay##H---!9)))!9)))!9)))!9(((ay##G,,,,r*   r>   rH   c                     |j                         d   }d| j                  |   _         | |      }|d   j                  dk7  sJ y )Nr   )splitvocabprob)rL   r>   wordrM   s       r(   ,test_doc_token_api_prob_inherited_from_vocabrU   4   sD    ::<?D$&Lt!$F!9>>Qr*   zone twoc                      | |      }t        |d         |j                  d      d   k(  sJ t        |d         |j                  d      d   k(  sJ y )Nr    r   )strrQ   rK   s      r(   test_doc_token_api_str_builtinrY   <   sR    $Fvay>TZZ_Q////vay>TZZ_Q////r*   c                 2   t        | g d      }|d   j                  sJ |d   j                  sJ |d   j                  rJ |d   j                  sJ |d   j
                  sJ |d   j                  rJ |d   j                  sJ |d   j                  sJ y )N)Hi,myemailr   ztest@me.comr$   r   r   r      r5   )	r   is_titleis_alphais_digitis_punctis_asciilike_urlis_lower
like_email)r'   r)   s     r(    test_doc_token_api_is_propertiesri   C   s    
hM
NCq6???q6???1vq6???q6???1vq6???q6r*   c                     t               } | j                  d       | j                  dt        j                  ddgd             | j                  d	t        j                  dd
gd             t        | g d      }|j                  sJ |d   j                  sJ |d   j                  sJ |d   j                  rJ d}d
}d||z  z  }|d   j                  |d         |k(  sJ y )NrI   )widthapplesg        g       @f)dtype)vectororangesg      ?)rl   rp   oovr_   r   r   )r   reset_vectors
set_vectornumpyasarrayr   
has_vector
similarity)rR   r)   apples_normoranges_normcosines        r(   test_doc_token_api_vectorsr{   O   s    GE	a 	XemmS#Jc&JK	Yu}}c3Zs'KL
e7
8C>>>q6q61v    (K)LK,$>?Fq6SV$...r*   c                    g d}g d}dgt        |      z  }t        | |||      }|d   j                  D cg c]  }|j                   c}ddgk(  sJ |d   j                  D cg c]  }|j                   c}dgk(  sJ |d	   j                  D cg c]  }|j                   c}g k(  sJ |d	   j	                  |d
         sJ |d   j	                  |d	         rJ y c c}w c c}w c c}w )N		YesterdayIsawr   dogthatbarkedloudlyr   	rI   rI   rI   r`   rI   r   r`   r   rI   depr#   r   r   r   r   rI      )lenr   	ancestorsr>   is_ancestor)r'   r$   r%   r&   r)   ts         r(   test_doc_token_api_ancestorsr   _   s    RE'E7SZD
he5t
<CF,,-qAFF-%???F,,-qAFF-%888F,,-qAFF-333q6c!f%%%1v!!#a&))))	 .--s   C!&C&C+c           	         g d}g d}dgt        |      z  }t        | |||      }|d   j                  dk(  sJ |d   j                  dk(  sJ |d   j                  j
                  dk(  sJ |d   j                  j
                  dk(  sJ |d	   j                  dk(  sJ |d	   j                  dk(  sJ |d	   j                  j
                  d
k(  sJ |d	   j                  j
                  dk(  sJ |d
   j                  dk(  sJ |d
   j                  dk(  sJ |d
   j                  j
                  d
k(  sJ |d
   j                  j
                  d
k(  sJ |d   j                  j
                  dk(  sJ |d   j                  j
                  dk(  sJ |d
   |d   _        |d   j                  dk(  sJ |d   j                  dk(  sJ |d   j                  j
                  dk(  sJ |d   j                  j
                  dk(  sJ |d
   j                  dk(  sJ |d
   j                  dk(  sJ |d
   j                  j
                  d
k(  sJ |d
   j                  j
                  dk(  sJ |d	   j                  dk(  sJ |d	   j                  dk(  sJ |d	   j                  j
                  d
k(  sJ |d	   j                  j
                  dk(  sJ |d   j                  j
                  dk(  sJ |d   j                  j
                  dk(  sJ |d   |d   _        |d   j                  j
                  dk(  sJ |d   j                  j
                  dk(  sJ |d
   j                  j
                  dk(  sJ |d	   j                  j
                  dk(  sJ |d   j                  j
                  dk(  sJ t        | ||dgt        |      z        }t        j                  t              5  |d   |d   _        d d d        g d}g d}t        | ||dgt        |      z        }|d   j                  sJ |d   j                  sJ |d   j                  |d   k(  sJ |d   j                  |d	   k(  sJ |d   j                  |d   k(  sJ |d   j                  |d   k(  sJ |d
   |d   _        |d   j                  sJ |d   j                  sJ |d   j                  |d   k(  sJ |d   j                  |d	   k(  sJ |d   j                  |d   k(  sJ |d   j                  |d   k(  sJ |d   |d   _        |d   j                  sJ |d   j                  rJ |d   j                  |d   k(  sJ |d   j                  |d   k(  sJ y # 1 sw Y   xY w)Nr}   r   r   r#   r   r   r5   r   r`   r   r   rI   r   )
r   r   oner   r   r   r   r   r   r   )
r   r   r   r   r   r5   r5   r5   r5   r5   	   )r   r   n_leftsn_rights	left_edgei
right_edgeheadpytestraises
ValueErroris_sent_start)r'   r$   r%   r&   r)   doc2s         r(   test_doc_token_api_head_setterr   l   s   RE'E7SZD
he5t
<Cq6>>Qq6??aq6"""q6!###q6>>Qq6??aq6"""q6!###q6>>Qq6??aq6"""q6!###q6"""q6!###a&CFKq6>>Qq6??aq6"""q6!###q6>>Qq6??aq6"""q6!###q6>>Qq6??aq6"""q6!###q6"""q6!###a&CFKq6"""q6"""q6"""q6"""q6"""xuE#e*8LMD	z	" 1gA ]E*E
he5wU7K
LCq6q6q6s1v%%%q6A&&&q6s1v%%%q6A&&&a&CFKq6q6q6s1v%%%q6A&&&q6s1v%%%q6A&&&a&CFKq61v####q6s1v%%%q6A&&&9 s   U==Vc                      | d      }|d   j                   J d|d   _         |d   j                   du sJ t        t        |j                              dk(  sJ y )N$This is a sentence. This is another.r5   TrI   )r   r   listsentsrL   r)   s     r(   test_is_sent_startr      sb    
=
>Cq6'''CFq64'''tCII1$$$r*   c                      | d      }|d   j                   J d|d   _        |d   j                   du sJ t        t        |j                              dk(  sJ y )Nr   r`   Tr5   rI   )is_sent_endr   r   r   r   r   s     r(   test_is_sent_endr      sb    
=
>Cq6%%%CFq6%%%tCII1$$$r*   c                      t        t               ddg      } d| d   _        | d   j                  dk(  sJ t        | d   _        | d   j                  dk(  sJ y )Nhelloworldr_   NOUNr   r   r	   )r   r   rD   r	   r8   r)   s    r(   test_set_posr      sW    
eggw/
0CCFKq6;;&   CFJq6;;&   r*   c                      t        t               ddg      } t        j                  t              5  d| d   _        d d d        y # 1 sw Y   y xY w)Nr   r   r_   blahr   )r   r   r   r   r   rD   r   s    r(   test_set_invalid_posr      sA    
eggw/
0C	z	" A  s   AAc                    t        t        | j                              dk(  sJ | d   j                  j                  dk(  sJ | d   j                  j                  dk(  sJ | d   j                  j
                  j                  j                  dk(  sJ | d   j                  j
                  j                  j                  dk(  sJ y)zTest token.sent propertyr   r   zThis is a sentence .r   zThis is another sentence .r   N)r   r   r   sentr>   rootr   r   s    r(   test_tokens_sentr      s    tCII1$$$q6;;5555q6;;;;;;q6;;%%**f444q6;;%%**f444r*   c                      t        t               ddg      } | d   j                  du sJ | d   j                  J | j                  d      rJ y )Nr   r   r_   r   Tr   
SENT_START)r   r   r   has_annotationr   s    r(   test_token0_has_sent_start_truer      sZ    
eggw/
0Cq64'''q6'''!!,////r*   c                      t        t               ddg      } | d   j                  J | d   j                  du sJ | j                  d      rJ y )Nr   r   r_   r   r   Tr   )r   r   r   r   r   s    r(    test_tokenlast_has_sent_end_truer      sZ    
eggw/
0Cq6%%%q6%%%!!,////r*   c                 l   g d}g d}g d}t        | |||      }|d   j                  D cg c]  }|j                   c}ddgk(  sJ |d   j                  D cg c]  }|j                   c}d	dgk(  sJ |d
   j                  D cg c]  }|j                   c}d	dgk(  sJ y c c}w c c}w c c}w )N)
Theboyandthegirlr   r   manwentr   )
r   r   r   r`   r   r`   r   r`   r   r   )
r   r   ccr   conjr   r   r   r   r!   r#   r   r   r   r`   r   r   r   	conjunctsr>   r'   r$   r%   r&   r)   ws         r(   test_token_api_conjuncts_chainr      s    RE*EVD
he5t
<CF,,-qAFF-&%@@@F,,-qAFF-%???F,,-qAFF-%@@@ .--s   B'B,	B1c                    g d}g d}g d}t        | |||      }|d   j                  D cg c]  }|j                   c}dgk(  sJ |d   j                  D cg c]  }|j                   c}dgk(  sJ y c c}w c c}w )	N)Theycamer   r   r   )r   r   r   r   r   )r   r   r   r   r   r#   r   r   r   r   r   r   s         r(   test_token_api_conjuncts_simpler      s{    0EE1D
he5t
<CF,,-qAFF-&999F,,-qAFF-&999 .-s   A7A<c                     g d}g d}g d}t        | |||      }|d   j                  D cg c]  }|j                   c}g k(  sJ |d   j                  D cg c]  }|j                   c}g k(  sJ y c c}w c c}w )N)r   r   r   )r   r   r   )r   r   r!   r#   r   r   r   r   s         r(   test_token_api_non_conjunctsr      sw    !EE%D
he5t
<CF,,-qAFF-333F,,-qAFF-333 .-s   A5A:c                    g d}g d}g d}t        | |||      }|D cg c]  }|j                          }}|D cg c]  }|j                          }}|D cg c]  }|j                  j                   }}|D cg c]  }|j
                   }	}|D cg c]  }|j                   }
}|g dk(  sJ |g dk(  sJ |dd g dk(  sJ |	dd g d	k(  sJ |
g d
k(  sJ t        j                  |||d      }|j                  D cg c]  }|j                          }}|j                  D cg c]  }|j                          }}|j                  D cg c]  }|j                  j                   }}|j                  D cg c]  }|j
                   }}|j                  D cg c]  }|j                   }}||k(  sJ ||k(  sJ ||k(  sJ ||	k(  sJ ||
k(  sJ |j                  d      \  }}|d   |d   k(  sJ |d   |d   k(  sJ |d   |d   k(  sJ |d   |d   k(  sJ yc c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )zWCheck that the Doc constructor and Example.from_dict parse missing information the same)r   r   r   r   rI   N) r   r6   r   r   N)r   likeLondonr   Berlinr   r#   )FTTTTFr   r5   )r   r   r   rI   )r   r6   r   r   )TFFFFF)r%   r&   T)projectivizer   N)r   has_headhas_depr   r   rE   r   r   	from_dict	referenceget_aligned_parse)r'   r%   r&   r$   r)   r   pred_has_headspred_has_deps
pred_heads	pred_depspred_sent_startsexampleref_has_headsref_has_deps	ref_headsref_depsref_sent_startsaligned_headsaligned_depss                      r(   test_missing_head_depr     s~   !E3D9E
he5t
<C,/0qajjl0N0*-.QQYY[.M.$'(q!&&(((J(!$%A%I%145A55CCCCBBBBa?l***Qq>;;;;HHHHud%CDG+2+<+<=aQZZ\=M=)0):):;AAIIK;L;#*#4#45a5I5 ' 1 1212H2070A0AB1qBOBN***>)))
"""y   ....")";";";"NM<?hqk)))y|+++?hqk)))y|+++5 1.(%5 >;52Bs:   H%H*H/=H4H9H>,II I#Ic                      | d      } | d      }|d   |dd k(  rJ |d   |dd k(  rJ |d   |d   k(  rJ |d   |k(  rJ y )Nza bzb cr   r   rI    )rL   doc1r   s      r(   test_token_api_richcmp_otherr   +  so    DDAw$q)###Aw$q)###Aw$q'!!!Aw$r*   ))rt   r   spacy.attrsr   r   r   r   r   r   spacy.symbolsr	   spacy.tokensr   spacy.trainingr   spacy.vocabr   fixturer)   rF   rN   markparametrizerU   rY   ri   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r(   <module>r      s      Q Q   "  > >!"	- "=!>? @ )-0 .0	/ 
*H'V%%!500A:4 ,Fr*   