B
    .(äb  ã               @   sT   d dl mZ d dlmZ d dlmZmZ dd„ Zdd„ Zdd	„ Z	d
d„ Z
dd„ ZdS )é    )Úunicode_literals)ÚLanguage)ÚpickleÚunicode_c              C   s6   t ƒ } | dƒ}t |d¡}t |¡}|jdks2t‚d S )Nzpickle roundtripé   )r   r   ÚdumpsÚloadsÚtextÚAssertionError)ÚnlpÚdocÚdataÚdoc2© r   úN/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/doc/test_pickle_doc.pyÚtest_pickle_single_doc   s
    
r   c              C   s¸   t ƒ } xtdƒD ]}| jt|ƒ }qW t | dƒd¡}t|  dd„ tdƒD ƒ¡ƒ}t |d¡}t|ƒt|ƒd k svt	‚t 
|¡}|d jdks’t	‚|d jd	ks¤t	‚t|ƒdks´t	‚d S )
Ni'  Ú0éÿÿÿÿc             s   s   | ]}t |ƒV  qd S )N)r   )Ú.0Úir   r   r   ú	<genexpr>   s    z8test_list_of_docs_pickles_efficiently.<locals>.<genexpr>éd   é   r   Z99)r   ÚrangeÚvocabr   r   r   ÚlistÚpipeÚlenr
   r   r	   )r   r   Ú_Zone_pickledZdocsZmany_pickledZmany_unpickledr   r   r   Ú%test_list_of_docs_pickles_efficiently   s    
r   c              C   sH   t ƒ } | dƒ}d|jd< | ¡ }| |j¡ |¡}|jd dksDt‚d S )NÚHelloF)r   r   )r   Ú	user_dataÚto_bytesÚ	__class__r   Ú
from_bytesr
   )r   r   Úbr   r   r   r   Útest_user_data_from_disk   s    
r&   c              C   sB   t ƒ } | dƒ}d|jd< t |¡}t |¡}|jd dks>t‚d S )Nr    F)r   r   )r   r!   r   r   r   r
   )r   r   r%   r   r   r   r   Útest_user_data_unpickles'   s    


r'   c              C   sJ   dd„ } t ƒ }|dƒ}| |jd< t |¡}t |¡}| d ¡dksFt‚d S )Nc             S   s   dS )Nzhello!r   )Úd1Zd2r   r   r   Ú
inner_func1   s    z'test_hooks_unpickle.<locals>.inner_funcr    Ú
similarityzhello!)r   Z
user_hooksr   r   r   r*   r
   )r)   r   r   r%   r   r   r   r   Útest_hooks_unpickle0   s    


r+   N)Ú
__future__r   Zspacy.languager   Zspacy.compatr   r   r   r   r&   r'   r+   r   r   r   r   Ú<module>   s   		