B
    .(äb"
  ã               @   s„   d dl mZ d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
 ddlmZ dd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )é    )Úunicode_literalsN)ÚEnglish)ÚDocÚDocBin)Úpath2stré   )Úmake_tempdirc             C   sb   t | ƒ}| ¡ }t | ƒ}| |¡ t|ƒt|ƒks6t‚x&t||ƒD ]\}}|j|jksBt‚qBW d S )N)r   Úto_bytesÚ
from_bytesÚlenÚAssertionErrorÚzipÚtext)Úen_vocabÚdocÚdataZdoc2Ztoken1Ztoken2© r   úW/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/serialize/test_serialize_doc.pyÚtest_serialize_empty_doc   s    
r   c             C   sD   t | ddgd}ddi|_| ¡ }t | ƒ |¡}| ¡ |ks@t‚d S )NÚhelloÚworld)ÚwordsÚAg      à?)r   Úcatsr	   r
   r   )r   r   Zdoc_bÚnew_docr   r   r   Ú"test_serialize_doc_roundtrip_bytes   s
    
r   c          	   C   sZ   t | ddgd}tƒ :}|d }| |¡ t | ƒ |¡}| ¡ | ¡ ksLt‚W d Q R X d S )Nr   r   )r   r   )r   r   Úto_diskÚ	from_diskr	   r   )r   r   ÚdÚ	file_pathÚdoc_dr   r   r   Ú!test_serialize_doc_roundtrip_disk!   s    
r!   c          	   C   sb   t | ddgd}tƒ B}|d }t|ƒ}| |¡ t | ƒ |¡}| ¡ | ¡ ksTt‚W d Q R X d S )Nr   r   )r   r   )r   r   r   r   r   r	   r   )r   r   r   r   r    r   r   r   Ú*test_serialize_doc_roundtrip_disk_str_path*   s    
r"   c          	   C   sÔ   t | ddgd}d|jd< t | ƒ | ¡ ¡}|jd dks>t‚t | ƒj| ¡ dgd}|jr`t‚t | ƒ |jdgd¡}|jr‚t‚t t¡ |jdd	 W d Q R X t t¡ t | ƒj| ¡ dd
 W d Q R X d S )Nr   r   )r   ÚbarZfooÚ	user_data)ÚexcludeF)r$   )Ztensor)r   r$   r
   r	   r   ÚpytestZraisesÚ
ValueError)r   r   r   r   r   r   Útest_serialize_doc_exclude4   s    


r(   c              C   s¶   t dddgdd} dddg}d	d
i}tƒ }x"| |¡D ]}||_|  |¡ q6W |  ¡ }t d¡}t ƒ  |¡} t	|  
|j¡ƒ}x4t|ƒD ](\}}|j|| ks t‚|j|ks†t‚q†W d S )NZLEMMAZENT_IOBZENT_TYPET)ÚattrsZstore_user_dataz	Some textzLots of texts...z...r   g      à?Úen)r   r   Úpiper   Úaddr	   ÚspacyZblankr
   ÚlistZget_docsZvocabÚ	enumerater   r   )Zdoc_binZtextsr   Znlpr   Ú
bytes_dataZreloaded_docsÚir   r   r   Útest_serialize_doc_binC   s    

r2   )Ú
__future__r   r-   r&   Zspacy.lang.enr   Zspacy.tokensr   r   Zspacy.compatr   Úutilr   r   r   r!   r"   r(   r2   r   r   r   r   Ú<module>   s   
	
