
    id              	           d dl Z d dlmZ d dlmZ d dlmZ g ddigddfdd	d
iiddigddfd
ddgddfddigddfdddigddfg dddfdddgddfdddgddfdddgddfdddgddfdddgddfdddgddfdddgddfdddgddfddddidigd d fd!dd"d#d$igd%d fd&dg d'iid(dd)iigd%d fd&d*d%iigdd fd+d*diigdd fd,d-igdd fd.d-igdd fd/d-igdd fd0d-igdd fd+did#digd d fd1dd2d3giid4d5d6gd d fd
d7d%id8gd d fd&digd d fd#d9d:d;gd<igd d fd=d>id(dd?giigd d fdd@ddAgid%dBdCidDigd d fdEdigd d fdFd
igd d fdGd
igd d fd/dHigd d fd0dHigd d fdIdJdgd d fZe j                  j                  dKddLigd&d!igd+dd%iigdMdNdOiigg      dP        Z
e j                  j                  dQe      dR        Ze j                  j                  dSe      dT        ZdU Zy)V    N)MatchPatternError)Matcher)validate_token_patternXXfoo   IS_ALPHAz==TLIKE_NUM   $)IS_PUNCTOP_)z#[{"TEXT": "foo"}, {"LOWER": "bar"}]r   r   ENT_IOB)r   r      r   z{,})TEXTr   z{,4}4z{a,3}z{a}z{,a}z{1,2,3}z{1, 3}z{-2}barIN)r   baz   2)LENGTHr   LOWERtest   r   )r   r   3POSVERBVALUEr   IS_DIGITORTHENT_ID	ENT_KB_IDLEMMAlovelikeDET?)r   r   z>=)r
   r   z^XXXXXY)REGEXNOT_INNORMaNOUNr-   r   >
   )r   r/   borthIS_SENT_START
SENT_STARTSTRINGhaz{3}patternytextin   c                     t        | d      }t        j                  t              5  |j	                  d|g       d d d        y # 1 sw Y   y xY w)NT)validateTEST)r   pytestraisesr   add)en_vocabr9   matchers      |/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/matcher/test_pattern_validation.pytest_matcher_pattern_validationrG   F   sB    
 h.G	(	) 'FWI&' ' 's   AAzpattern,n_errors,_c                 :    t        |       }t        |      |k(  sJ y )N)r   len)r9   n_errorsr   errorss       rF   test_pattern_validationrL   P   s    #G,Fv;("""    zpattern,n_errors,n_min_errorsc                     t        |       }|dkD  r6t        j                  t              5  |j	                  d|g       d d d        y |dk(  r|j	                  d|g       y y # 1 sw Y   y xY w)Nr   r@   )r   rA   rB   
ValueErrorrC   )rD   r9   rJ   n_min_errorsrE   s        rF   test_minimal_pattern_validationrQ   V   sf    hGa]]:& 	+KK	*	+ 	+	QFWI& 
	+ 	+s   A!!A*c                     t        |       }|j                  ddddiigg       t        j                  t              5  |j                  ddddiigg       d d d        y # 1 sw Y   y xY w)NTEST1r;   regexTEST2r   r   xx)r   rC   rA   rB   r   )rD   rE   s     rF   test_pattern_errorsrW   `   si    hGKKFWg$6789:	(	) 9Gt56789 9 9s   AA()rA   spacy.errorsr   spacy.matcherr   spacy.schemasr   TEST_PATTERNSmarkparametrizerG   rL   rQ   rW    rM   rF   <module>r_      s    * ! 0:Um_a: D$< :t"45q!<:
 #	&'			: El^Q: 2: %1a : 1: E"#Q*: G$%q!,: G$%q!,:  E"#Q*!:" F#$a+#:$ I&'A.%:& H%&1-':( F#$a+):. udE]3	45		-:: 	#gv%67		9:D T;'	(54.*AB		C:L '1A&M:N  !1a(O:P 2AQ:R rl^QS:T nq!U:V B!QW:Z uo'(!Q/[:\ '()5+DEq!L]:^ D!9-.15_:` m_aa:b $5$-89:AqAc:d smedVH-./A6e:f Xu~.Qc2YGHI1aPg:h uo1i:j 1%k:l TQ"m:n Q"o:p H1%q:r 5!"Aq)s:z Sk]h_%$(;'<q	?R>ST'	' -}=# >#
 8-H' I'9rM   