U
    ?h+  ã                   @   sP   d dl Zd dlmZmZ d dlmZ dd„ Zdd„ Zdd	„ Z	d
d„ Z
dd„ ZdS )é    N)Ú	map_arrayÚArrayMap)Útestingc               	   C   sf   t jjdddd} t  d¡}t  | ¡}t j |j¡ |j¡}t 	t
¡ t| |||d W 5 Q R X d S )Nr   é   ©é   é   ©Úsize)r   r   ©Úout©ÚnpÚrandomÚrandintÚemptyÚuniqueÚshapeZastypeÚdtyper   ZraisesÚ
ValueErrorr   ©Úlabelsr   Ú	in_valuesÚ
out_values© r   úS/var/www/html/venv/lib/python3.8/site-packages/skimage/util/tests/test_map_array.pyÚ%test_map_array_incorrect_output_shape   s    

r   c               	   C   sz   t jjdddd} t  d¡d d d…d d d…f }t  | ¡}t j |j¡ |j¡}t 	t
¡ t| |||d W 5 Q R X d S )	Nr   r   r   r	   )éH   é2   é   é   r   r   r   r   r   r   Ú*test_map_array_non_contiguous_output_array   s    
r!   c                  C   sX   t jjdddd} t  | ¡}t j |j¡}t||ƒ}tt|ƒ d¡ƒ|j	d ksTt
‚d S )Nr   é(   r   r	   Ú
r    )r   r   r   r   r   r   ÚlenÚstrÚsplitZ_max_str_linesÚAssertionError)r   r   r   Úmr   r   r   Útest_arraymap_long_str   s
    

r)   c                  C   sŒ   t  t jjdddd¡} t j t| ƒ¡}t| |ƒ}t jjdt|ƒdd}t  || dk ¡s^t‚|dd …  d7  < t  || dk¡sˆt‚d S )Nr   éÈ   r   r	   é   ©é   r-   )r   r   r   r   r$   r   Úallr'   )r   r   r(   Úimager   r   r   Útest_arraymap_update!   s    
r0   c                  C   s¢   t  t jjdddd¡} t j t| ƒ¡}t| |ƒ}t jjdt| ƒdd}t  || dk ¡s^t‚t jt|ƒt	d}d|d< ||  d7  < t  || dk¡sžt‚d S )	Nr   r*   r   r	   r+   r,   )r   F)
r   r   r   r   r$   r   r.   r'   ZonesÚbool)r   r   r(   r/   Zpositiver   r   r   Útest_arraymap_bool_index+   s    
r2   )Únumpyr   Zskimage.util._map_arrayr   r   Zskimage._sharedr   r   r!   r)   r0   r2   r   r   r   r   Ú<module>   s   		
