a
    ¤Â=b,  ã                   @   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   sz   t jjdddd} t  d¡}t  | ¡}t j |j¡ |j¡}t 	t
¡  t| |||d W d   ƒ n1 sl0    Y  d S )Nr   é   ©é   é   ©Úsize)r   r   ©Úout©ÚnpÚrandomÚrandintÚemptyÚuniqueÚshapeZastypeÚdtyper   ZraisesÚ
ValueErrorr   ©Úlabelsr   Ú	in_valuesÚ
out_values© r   ú@lib/python3.9/site-packages/skimage/util/tests/test_map_array.pyÚ%test_map_array_incorrect_output_shape   s    

r   c                  C   sŽ   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 d   ƒ n1 s€0    Y  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sTJ ‚d S )Nr   é(   r   r	   Ú
r    )
r   r   r   r   r   r   ÚlenÚstrÚsplitZ_max_str_lines)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^J ‚|dd …  d7  < t  || dk¡sˆJ ‚d S )Nr   éÈ   r   r	   é   ©é   r,   )r   r   r   r   r$   r   Úall)r   r   r'   Úimager   r   r   Útest_arraymap_update!   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^J ‚t jt|ƒtd}d|d< ||  d7  < t  || dk¡sžJ ‚d S )	Nr   r)   r   r	   r*   r+   )r   F)	r   r   r   r   r$   r   r-   ZonesÚbool)r   r   r'   r.   Zpositiver   r   r   Útest_arraymap_bool_index+   s    
r1   )Znumpyr   Zskimage.util._map_arrayr   r   Zskimage._sharedr   r   r!   r(   r/   r1   r   r   r   r   Ú<module>   s   		
