B
    F.\V                 @   s    d dl mZ G dd deZdS )   )Clientc               @   sL   e Zd ZdZi Zdd Zdd Zdd Zdd	 Zd
d Z	dd Z
dd ZdS )ClusterTestNc             C   s*   | j dddi| j| _t| jj| _d S )Nr   scheduler_port    )r   )Clusterkwargsclusterr   Zscheduler_addressclient)self r   <lib/python3.7/site-packages/distributed/deploy/utils_test.pysetUp   s    zClusterTest.setUpc             C   s   | j   | j  d S )N)r	   closer   )r
   r   r   r   tearDown   s    
zClusterTest.tearDownc             C   s   t | j dkstd S )Nr   )lenr	   ncoresAssertionError)r
   r   r   r   
test_cores   s    zClusterTest.test_coresc             C   s&   | j dd d}| dks"td S )Nc             S   s   | d S )N   r   )xr   r   r   <lambda>   s    z)ClusterTest.test_submit.<locals>.<lambda>r   r   )r	   Zsubmitresultr   )r
   Zfuturer   r   r   test_submit   s    zClusterTest.test_submitc             C   sz   | j  }| jjdd}| j  }t|dt| ks:ttdd | D sTt| j| | j  }||ksvtd S )N   )r   r   c             s   s   | ]}|d kV  qdS )r   Nr   ).0vr   r   r   	<genexpr>   s    z0ClusterTest.test_start_worker.<locals>.<genexpr>)	r	   r   r   Zstart_workerr   r   anyvaluesZstop_worker)r
   awbcr   r   r   test_start_worker   s    


zClusterTest.test_start_workerc          
   C   s>   | j f | j&}t|}| s&tW d Q R X W d Q R X d S )N)r   r   r   r   r   )r
   r"   er   r   r   test_context_manager$   s    
z ClusterTest.test_context_managerc          	   C   s&   | j dddi| j W d Q R X d S )Nr   r   )r   )r   r   )r
   r   r   r   test_no_workers)   s    zClusterTest.test_no_workers)__name__
__module____qualname__r   r   r   r   r   r   r#   r%   r&   r   r   r   r   r      s   r   N)r	   r   objectr   r   r   r   r   <module>   s   