B
    .(b	                 @   s   d dl mZ d dlZd dlZd dlmZmZ d dlm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 )    )unicode_literalsN)IS_ALPHAIS_DIGIT)OOV_RANKztext1,prob1,text2,prob2)ZNOUNoperac             C   s8   | | }||_ | | }||_ ||k s(t||ks4tdS )z#More frequent is l.t. less frequentN)ZprobAssertionError)en_vocabtext1text2Zprob1Zprob2lex1lex2 r   T/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/vocab_vectors/test_lexeme.pytest_vocab_lexeme_lt
   s    r   ztext1,text2)Zphantomr   c             C   sD   | | }| | }||||i}|| j |ks.t|| j |ks@tdS )zTest that lexemes are hashable.N)Zorth_r	   )r
   r   r   r   r   Zlexesr   r   r   test_vocab_lexeme_hash   s
    r   c             C   sF   | d j dt> @ st| d j dt> @ r,t| d j dt> @ rBtd S )Nthe   1999hello1)flagsr   r	   )r
   r   r   r   test_vocab_lexeme_is_alpha    s    r   c             C   sF   | d j dt> @ rt| d j dt> @ s,t| d j dt> @ rBtd S )Nr   r   r   r   )r   r   r	   )r
   r   r   r   test_vocab_lexeme_is_digit&   s    r   c             C   s   |  dd }| d |dks$t| d tdks:t| d |dksPt| d tdksft| d |dks|t| d |dkstd S )	Nc             S   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   )r
   is_len4r   r   r   "test_vocab_lexeme_add_flag_auto_id,   s    r$   c             C   s   | j dd td}| d |dks(t| d |dks>t| d tdksTt| d |dksjt| d	 |dkstd S )
Nc             S   s   t | dkS )Nr   )r   )r   r   r   r   r   7   r   z8test_vocab_lexeme_add_flag_provided_id.<locals>.<lambda>)Zflag_idr   Tr   Fr   r    )r!   r   r"   r	   )r
   r#   r   r   r   &test_vocab_lexeme_add_flag_provided_id6   s    r%   c             C   s0   | d }t ttjjkst|jt ks,tdS )z#Test that default rank is OOV_RANK.wordN)r   numpyZiinfoZuint64maxr	   Zrank)r
   lexr   r   r   test_vocab_lexeme_oov_rank?   s    r*   )
__future__r   Zpytestr'   Zspacy.attrsr   r   Z
spacy.utilr   markZparametrizer   r   r   r   r$   r%   r*   r   r   r   r   <module>   s   

	