3
Ydi	                 @   s   d dl Z ddlmZ ddlmZ ddlmZ ddlmZ	 G d	d
 d
ej
ZG dd dej
ZG dd dejZe jjdddddgdd Ze jjddddddgdd Zdd Zdd Zd d! ZdS )"    N   )
EngineBase   )base)utility   )enginec               @   s4   e Zd ZejjddZejjddZejddZ	dS )	InputSpecza random int)desczRandom FileN)
__name__
__module____qualname__nibtraitsIntinput1Zinput2FileZ
input_file r   r   X/var/www/html/virt/lib/python3.6/site-packages/nipype/pipeline/engine/tests/test_base.pyr	      s   r	   c               @   s    e Zd ZejjejjddZdS )
OutputSpecoutputs)r
   N)r   r   r   r   r   Listr   output1r   r   r   r   r      s   r   c               @   s   e Zd ZeZeZdd ZdS )EngineTestInterfacec             C   s   d|_ d| jjg| jd< |S )Nr      r   )
returncodeinputsr   Z_results)selfZruntimer   r   r   _run_interface   s    z"EngineTestInterface._run_interfaceN)r   r   r   r	   Z
input_specr   Zoutput_specr   r   r   r   r   r      s   r   nameZvalid1Z
valid_nodez
valid-nodeZ
ValidNode0c             C   s   t | d}|j| kstd S )N)r   )r   r   AssertionError)r   r   r   r   r   test_create    s    
r!   z	invalid*1z	invalid.1zinvalid@zin/validc          
   C   s$   t jt t| d W d Q R X d S )N)r   )pytestraises
ValueErrorr   )r   r   r   r   test_create_invalid&   s    r%   c              C   s0   t dd} d| _| jdkst| jdks,td S )Nnodename)r   zsome.history.behindzsome.history.behind.nodename)r   Z
_hierarchyr   r    fullname)r   r   r   r   test_hierarchy.   s    
r(   c           	   C   s^   t dd} | jd}| j|jkr6| j|jkr6|jdks:ttjt | jd W d Q R X d S )Nr&   )r   Znewnodename)	r   clonebase_dirconfigr   r    r"   r#   r$   )r   Zbase2r   r   r   
test_clone6   s    

r,   c             C   s   | j   dd }ddg}tjtjdgddd}d|fg|_tjtjd	d	|d
dd}|jd}tjdd}|j	||dgf||dgfg |j
  d S )Nc             S   s   d|  S )Nz%s + 2r   )stringr   r   r   addstrG   s    z)test_clone_node_iterables.<locals>.addstrzsub-001zsub-002subject)fields	inputnode)r   r-   )Zinput_namesZoutput_namesfunctionnode_1node_2Ziter_clone_wf)r/   r-   )r-   r-   )chdirpeNodeniuZIdentityInterface	iterablesZFunctionr)   ZWorkflowconnectrun)Ztmpdirr.   Zsubject_listr1   r3   r4   Zworkflowr   r   r   test_clone_node_iterablesD   s    

r<   )r"   r   r   Z
interfacesr   r   r8    r   r6   ZTraitedSpecr	   r   ZSimpleInterfacer   markZparametrizer!   r%   r(   r,   r<   r   r   r   r   <module>   s   
