
    h'              	           S SK r S SKJr  S SKJr  S SKJr  / SS0/SS4PSS	S
00SS0/SS4PS
SS./SS4PSS0/SS4PSPSS0/SS4P/ SQSS4PSSS./SS4PSSS./SS4PSSS./SS4PSSS./SS4PSSS./SS4PSSS./SS4PSSS./SS4PSSS./SS4PSSSS0S.0/SS 4PS SS!.S"S#0/SS 4PS$S/ S%Q00S&SS'00/S(S 4PS$S)S*00/SS 4PS+S)S00/SS 4PS,S-0/SS 4PS.S-0/SS 4PS/S-0/SS 4PS0S-0/SS 4PS+S0S"S0/S S 4PS1SS2S3/00S4S5S6./S S 4PS
S7S*0S8./S S 4PS$S0/S S 4PS"S9S:S;/S<.0/S S 4PS=S>0S&SS?/00/S S 4PSS@SSA/0S*SBSC0SD.0/S S 4PSES0/S S 4PSFS
0/S S 4PSGS
0/S S 4PS/SH0/S S 4PS0SH0/S S 4PSISJS./S S 4Pr\ R                  R                  SKSSL0/S$S 0/S+SS*00/SMSNSO00//5      SP 5       r
\ R                  R                  SQ\5      SR 5       r\ R                  R                  SS\5      ST 5       rSU rg)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testr   )r   r   3POSVERB   VALUE   r   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                     [        U SS9n[        R                  " [        5         UR	                  SU/5        S S S 5        g ! , (       d  f       g = f)NT)validateTEST)r   pytestraisesr   add)en_vocabr9   matchers      e/home/james-whalen/.local/lib/python3.13/site-packages/spacy/tests/matcher/test_pattern_validation.pytest_matcher_pattern_validationrG   6   s9    
 h.G	(	)FWI& 
*	)	)s   A
Azpattern,n_errors,_c                 <    [        U 5      n[        U5      U:X  d   eg )N)r   len)r9   n_errorsr   errorss       rF   test_pattern_validationrL   @   s    #G,Fv;("""    zpattern,n_errors,n_min_errorsc                     [        U 5      nUS:  a7  [        R                  " [        5         UR	                  SU/5        S S S 5        g US:X  a  UR	                  SU/5        g g ! , (       d  f       g = f)Nr   r@   )r   rA   rB   
ValueErrorrC   )rD   r9   rJ   n_min_errorsrE   s        rF   test_minimal_pattern_validationrQ   F   s]    hGa]]:&KK	* '&	QFWI& 
 '&s   A$$
A2c                     [        U 5      nUR                  SSSS00//5        [        R                  " [        5         UR                  SSSS00//5        S S S 5        g ! , (       d  f       g = f)NTEST1r;   regexTEST2r   r   xx)r   rC   rA   rB   r   )rD   rE   s     rF   test_pattern_errorsrW   P   s`    hGKKFWg$6789:	(	)Gt5678 
*	)	)s   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!<* s#$a+	*
 El^Q* 2* %1a * 1* E"#Q** G$%q!,* G$%q!,* E"#Q** F#$a+* I&'A.* H%&1-*  F#$a+!*$ E4-012Aq9%*( a 7F"34a;)** $$%f~'>?AF+*, '1A&-*.  !1a(/*0 2A1*2 rl^Q3*4 nq!5*6 B!Q7*: 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   