
    h%                        S SK r S SKrS SKJrJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  \R                  R                  S5      \R                  R                  SS	/5      S
 5       5       r\R                  R                  S5      S 5       r\R                  R                  SS/5      S 5       r\R                  R                  SS/5      S 5       rS rS rS rS rS rg)    N)IS_ALPHAIS_DIGIT)Lookups)Doc)OOV_RANK)Vocabii  ztext1,text2)catdogc                 4    X   X   :X  d   eX   X   :w  d   eg)z$Test Issue #361: Equality of lexemesN )en_vocabtext1text2s      _/home/james-whalen/.local/lib/python3.13/site-packages/spacy/tests/vocab_vectors/test_lexeme.pytest_issue361r      s(     ?ho---?ho---    iX  c                  H    [        SSS00S9n [        U S/S9nSUS   l        g )NNNposNOUN)tag_maphello)wordsr   )r   r   tag_)vocabdocs     r   test_issue600r      s.    4%12E
eG9
%CCFKr   ztext1,prob1,text2,prob2)r   operac                 H    X   nX5l         X   nXFl         XV:  d   eXe:  d   eg)z#More frequent is l.t. less frequentN)prob)r   r   r   prob1prob2lex1lex2s          r   test_vocab_lexeme_ltr'      s0     ?DI?DI;;;;r   )phantomr   c                 l    X   nX   nX3XD0nXS   R                   U:X  d   eXT   R                   U:X  d   eg)zTest that lexemes are hashable.N)orth_)r   r   r   r%   r&   lexess         r   test_vocab_lexeme_hashr,   &   sH     ?D?D$E;%%%;%%%r   c                     U S   R                   S[        -  -  (       d   eU S   R                   S[        -  -  (       a   eU S   R                   S[        -  -  (       a   eg Nthe   1999hello1)flagsr   r   s    r   test_vocab_lexeme_is_alphar5   0   s[    E?  AM222%%h777!''1=9999r   c                     U S   R                   S[        -  -  (       a   eU S   R                   S[        -  -  (       d   eU S   R                   S[        -  -  (       a   eg r.   )r3   r   r4   s    r   test_vocab_lexeme_is_digitr7   6   s[    $$X666F!!Q(]333!''1=9999r   c                 d   U R                  S 5      nU S   R                  U5      SL d   eU S   R                  [        5      SL d   eU S   R                  U5      SL d   eU S   R                  [        5      SL d   eU S   R                  U5      SL d   eU S   R                  U5      SL d   eg )Nc                     [        U 5      S:H  $ N   lenstrings    r   <lambda>4test_vocab_lexeme_add_flag_auto_id.<locals>.<lambda>=       s6{a/?r   r1   T199Fr/   dogs)add_flag
check_flagr   r   is_len4s     r   "test_vocab_lexeme_add_flag_auto_idrI   <   s     ?@GF&&w/4777F&&x0D888E?%%g.%777E?%%h/4777E?%%g.%777F&&w/4777r   c                 Z   U R                  S [        S9nU S   R                  U5      SL d   eU S   R                  U5      SL d   eU S   R                  [        5      SL d   eU S   R                  U5      SL d   eU S   R                  U5      SL d   eU R                  S	 [        S9  g )
Nc                     [        U 5      S:H  $ r:   r<   r>   s    r   r@   8test_vocab_lexeme_add_flag_provided_id.<locals>.<lambda>G   rB   r   )flag_idr1   TrC   Fr/   rD   c                 "    U R                  5       $ )N)isdigitr>   s    r   r@   rL   M   s    V^^%5r   )rE   r   rF   rG   s     r   &test_vocab_lexeme_add_flag_provided_idrP   F   s     ?RGF&&w/4777E?%%g.%777E?%%h/5888E?%%g.%777F&&w/47775xHr   c                     U S   n[         [        R                  " [        R                  5      R                  :X  d   eUR
                  [         :X  d   eg)z#Test that default rank is OOV_RANK.wordN)r   numpyiinfouint64maxrank)r   lexs     r   test_vocab_lexeme_oov_rankrY   P   s?    
6
Cu{{5<<04444488xr   )rS   pytestspacy.attrsr   r   spacy.lookupsr   spacy.tokensr   
spacy.utilr   spacy.vocabr   markissueparametrizer   r   r'   r,   r5   r7   rI   rP   rY   r   r   r   <module>rc      s      * !    3(89. : . 3  25N4OP Q )=(>?& @&::8I r   