o
    i%                     @   s   d dl Z d dlZd dl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ejdd	gd
d Zejddd Zejddgdd Zejddgdd Zdd Zdd Zdd Zdd Zdd ZdS )     N)IS_ALPHAIS_DIGIT)Lookups)Doc)OOV_RANK)Vocabii  ztext1,text2)catdogc                 C   s,   | | | | ks
J | | | | ksJ dS )z$Test Issue #361: Equality of lexemesN )en_vocabtext1text2r
   r
   Y/home/ubuntu/.local/lib/python3.10/site-packages/spacy/tests/vocab_vectors/test_lexeme.pytest_issue361   s   r   iX  c                  C   s.   t dddiid} t| dgd}d|d _d S )NNNposNOUN)tag_maphello)wordsr   )r   r   tag_)vocabdocr
   r
   r   test_issue600   s   r   ztext1,prob1,text2,prob2)r   operac                 C   s8   | | }||_ | | }||_ ||k sJ ||ksJ dS )z#More frequent is l.t. less frequentN)prob)r   r   r   prob1prob2lex1lex2r
   r
   r   test_vocab_lexeme_lt   s   r"   )phantomr   c                 C   sD   | | }| | }||||i}|| j |ksJ || j |ks J dS )zTest that lexemes are hashable.N)orth_)r   r   r   r    r!   lexesr
   r
   r   test_vocab_lexeme_hash&   s
   r&   c                 C   sF   | d j dt> @ sJ | d j dt> @ rJ | d j dt> @ r!J d S Nthe   1999hello1)flagsr   r   r
   r
   r   test_vocab_lexeme_is_alpha0      r.   c                 C   sF   | d j dt> @ rJ | d j dt> @ sJ | d j dt> @ r!J d S r'   )r,   r   r-   r
   r
   r   test_vocab_lexeme_is_digit6   r/   r0   c                 C   s   |  dd }| d |du sJ | d tdu sJ | d |du s(J | d tdu s3J | d |du s>J | d |du sIJ d S )	Nc                 S      t | dkS N   lenstringr
   r
   r   <lambda>=       z4test_vocab_lexeme_add_flag_auto_id.<locals>.<lambda>r*   T199Fr(   dogs)add_flag
check_flagr   r   is_len4r
   r
   r   "test_vocab_lexeme_add_flag_auto_id<   s   r@   c                 C   s   | j dd td}| d |du sJ | d |du sJ | d tdu s*J | d |du s5J | d	 |du s@J | j d
d td d S )Nc                 S   r1   r2   r4   r6   r
   r
   r   r8   G   r9   z8test_vocab_lexeme_add_flag_provided_id.<locals>.<lambda>)flag_idr*   Tr:   Fr(   r;   c                 S   s   |   S )N)isdigitr6   r
   r
   r   r8   M   s    )r<   r   r=   r>   r
   r
   r   &test_vocab_lexeme_add_flag_provided_idF   s   rC   c                 C   s0   | d }t ttjjksJ |jt ksJ dS )z#Test that default rank is OOV_RANK.wordN)r   numpyiinfouint64maxrank)r   lexr
   r
   r   test_vocab_lexeme_oov_rankP   s   rK   )rE   pytestspacy.attrsr   r   spacy.lookupsr   spacy.tokensr   
spacy.utilr   spacy.vocabr   markissueparametrizer   r   r"   r&   r.   r0   r@   rC   rK   r
   r
   r
   r   <module>   s*    




	

