B
    .(bH                 @   s  d dl mZ d dlZd dlmZ ejdd Zdd Zdd	 Zej	
d
dgdd Zej	
d
dgdd Zej	
ddgdd Zej	
ddgdd Zdd Zej	
ddddgdd  Zd!d" Zej	
dd#gd$d% Zej	jej	
dd&d'd(ggd)d* ZdS )+    )unicode_literalsN)StringStorec               C   s   t  S )N)r    r   r   Y/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/vocab_vectors/test_stringstore.pystringstore   s    r   c             C   s0   |  ddkstd}|  |}|dks,tdS )z3Test that string hashing is stable across platformsapplel   *6I#
7 u   💙l   4[z"
 N)addAssertionError)r   Zhearthr   r   r   test_string_hash   s    
r   c             C   s   |  d}|dkst| | dks&td| ks2td| ks>t|  d dd | D }|ddgksft|  d}t| dkst|d	kst| | dkst| d |kstd S )
Nr   l   *6I#
7 ZcherryZorangec             S   s   g | ]}|qS r   r   ).0sr   r   r   
<listcomp>   s    z2test_stringstore_from_api_docs.<locals>.<listcomp>Zbanana   l   vi )r   r	   len)r   Z
apple_hashZall_stringsZbanana_hashr   r   r   test_stringstore_from_api_docs   s    


r   ztext1,text2,text3)s   Hellos   goodbyes   helloc             C   s>   |  |}| | |kst| | |ks*t| | |ks:td S )N)r   r	   )r   text1text2text3keyr   r   r   test_stringstore_save_bytes%   s    
r   )ZHelloZgoodbyeZhelloc             C   s>   |  |}| | |kst| | |ks*t| | |ks:td S )N)r   r	   )r   r   r   r   r   r   r   r   test_stringstore_save_unicode-   s    
r   text   Ac          	   C   sR   |  |}t| dkst| | |dks0ttt | d  W d Q R X d S )N   utf8i N  )r   r   r	   decodepytestraisesKeyError)r   r   r   r   r   r   test_stringstore_retrieve_id5   s
    
r    ztext1,text2)s
   0123456789r   c             C   s>   |  |}| | |dks t|  | | | |ks:td S )Nr   )r   r   r	   )r   r   r   storer   r   r   test_stringstore_med_string>   s    

r"   c             C   s"   d}|  |}| | |kstd S )Na   INFORMATIVE](http://www.google.com/search?as_q=RedditMonkey&amp;hl=en&amp;num=50&amp;btnG=Google+Search&amp;as_epq=&amp;as_oq=&amp;as_eq=&amp;lr=&amp;as_ft=i&amp;as_filetype=&amp;as_qdr=all&amp;as_nlo=&amp;as_nhi=&amp;as_occt=any&amp;as_dt=i&amp;as_sitesearch=&amp;as_rights=&amp;safe=off)r   r	   )r   r   r!   r   r   r   test_stringstore_long_stringF   s    
r#   factor         c             C   s&   d| }|  |}| | |ks"td S )Na)r   r	   )r   r$   r   r!   r   r   r   test_stringstore_multiplyL   s    
r)   c             C   s^   d}|  |}| | |kstd}|  |}| | |ks<td}|  |}| | |ksZtd S )NA  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaA   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzA  111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111)r   r	   )r   r   r!   r   r   r   r   r    test_stringstore_massive_stringsS   s    


r*   Zqqqqqc             C   s2   |  |}|  }t |}|| |ks.td S )N)r   to_bytesr   
from_bytesr	   )r   r   r!   Z
serializedZnew_stringstorer   r   r   test_stringstore_to_bytes_   s    
r-   r(   bcc          	   C   s   | |d  dkst | |d  dks(t | d | |d  }|dksJt | | }||d ksbt |   tt | | }W dQ R X dS )zTTest the possibly temporary workaround of flushing the stringstore of
    OOV words.r   r      T   N)r	   Z
set_frozenZ	flush_oovr   r   
IndexError)r   r   r   Zs_r   r   r   test_stringstore_freeze_oovg   s    
r3   )
__future__r   r   Zspacy.stringsr   Zfixturer   r   r   markZparametrizer   r   r    r"   r#   r)   r*   r-   Zxfailr3   r   r   r   r   <module>   s   	