B
    .(b6                 @   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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gdd Zej
dddd i f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ej
ddgd&d' Zd(d) Zej
d*d+gd,d- Zej
d.d/d0d1igd2d3 Zej
d.d/d4dd5gd6d7 Zd8d9 ZdS ):    )unicode_literalsN)Languagec               C   s   t  S )N)r    r   r   U/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/pipeline/test_pipe_methods.pynlp   s    r   c             C   s   | S )Nr   )docr   r   r   new_pipe   s    r   c             C   s   |  t d| jkstd S )Nr   )add_piper   
pipe_namesAssertionError)r   r   r   r   test_add_pipe_no_name   s    
r   c          	   C   s6   | j tdd tt | j tdd W d Q R X d S )NZduplicate_name)name)r	   r   pytestraises
ValueError)r   r   r   r   test_add_pipe_duplicate_name   s    r   r   parserc             C   s*   | j t|dd | jd d |ks&td S )NT)r   firstr   )r	   r   pipeliner   )r   r   r   r   r   test_add_pipe_first   s    r   zname1,name2)r   Zlambda_pipec             C   sR   | j dd |d | j t|dd | jd d |ks8t| jd d |ksNtd S )Nc             S   s   | S )Nr   )r   r   r   r   <lambda>$       z$test_add_pipe_last.<locals>.<lambda>)r   T)r   lastr   )r	   r   r   r   )r   Zname1Zname2r   r   r   test_add_pipe_last"   s    r   c          	   C   s*   t t | jtddd W d Q R X d S )NT)r   r   )r   r   r   r	   r   )r   r   r   r   !test_cant_add_pipe_first_and_last*   s    r   Zmy_componentc          	   C   sD   t t | | W d Q R X | jt|d | |tks@td S )N)r   )r   r   KeyErrorget_piper	   r   r   )r   r   r   r   r   test_get_pipe/   s    r   zname,replacement,not_callablec             C   s   | S )Nr   )r   r   r   r   r   8   r   r   c          	   C   s   t t | |t W d Q R X | jt|d t t | || W d Q R X | || | |tkspt| ||kstd S )N)r   )r   r   r   Zreplace_piper   r	   r   r   )r   r   replacementZnot_callabler   r   r   test_replace_pipe7   s    r    zold_name,new_name)Zold_piper   c          	   C   sV   t t | || W d Q R X | jt|d | || | jd d |ksRtd S )N)r   r   )r   r   r   Zrename_piper	   r   r   r   )r   Zold_namenew_namer   r   r   test_rename_pipeE   s
    r"   c          	   C   sx   t t | | W d Q R X | jt|d t| jdks@t| |\}}t| jr\t||ksht|tksttd S )N)r      )	r   r   r   Zremove_piper	   r   lenr   r   )r   r   Zremoved_nameZremoved_componentr   r   r   test_remove_pipeN   s    r%   c             C   s@   | j t|d | |st| |}| |r4t|  d S )N)r   )r	   r   has_piper   disable_pipesrestore)r   r   disabledr   r   r   test_disable_pipes_methodZ   s
    
r*   c          	   C   sR   | j t|d | |st| | | |r6tW d Q R X | |sNtd S )N)r   )r	   r   r&   r   r'   )r   r   r   r   r   test_disable_pipes_contextc   s
    r+   c          	   C   sr   x(dD ] }| j t|d | |stqW | ddg0 | drHt| drVt| dsdtW d Q R X d S )N)c1c2c3)r   r,   r-   r.   )r	   r   r&   r   r'   )r   r   r   r   r   test_disable_pipes_list_argl   s    
r/   n_pipesd   c             C   s>   x&t |D ]}| jdd d| d q
W t| j|ks:td S )Nc             S   s   | S )Nr   )r   r   r   r   r   y   r   z(test_add_lots_of_pipes.<locals>.<lambda>zpipe_%d)r   )ranger	   r$   r
   r   )r   r0   ir   r   r   test_add_lots_of_pipesv   s    r4   	componentnerZhelloZworldc          	   C   s$   t t | | W d Q R X d S )N)r   r   r   r	   )r   r5   r   r   r   !test_raise_for_invalid_components}   s    r7   taggertextcatc             C   sD   d}|  |}|| |dkr0||jks@tn|j|fks@td S )NZTESTr8   )create_pipe	add_labellabelsr   )r   r5   labelpiper   r   r   test_pipe_base_class_add_label   s    

r?   c             C   s   dddgddgd}xV|  D ]J\}}| |}x|D ]}|| q6W t|jt|ks^t| | qW t| jt|kstx.| j  D ] \}}t|| t|kstqW d S )NZPERSONZORGZGPEPOSITIVENEGATIVE)r6   r9   )	itemsr:   r;   r$   r<   r   r	   Zpipe_labelssorted)r   Zinput_labelsr   r<   r>   r=   r   r   r   test_pipe_labels   s    

rD   )
__future__r   r   Zspacy.languager   Zfixturer   r   r   r   markZparametrizer   r   r   r   r    r"   r%   r*   r+   r/   r4   r7   r?   rD   r   r   r   r   <module>   s*   			
