o
    ji                     @   s   d dl Zd dlZd dlmZ d dlmZ d dlmZ dd Z	dd Z
d	d
 Zejdg ddd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& ZdS )'    N)testing)expected_warnings)random_shapesc                  C   s"   t ddd\} }| jdksJ d S )N   r   
   )
max_shapes)r   r      r   shapeimage_ r   f/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/draw/tests/test_random_shapes.py.test_generates_color_images_with_correct_shape	   s   r   c                  C   &   t dddd d\} }| jdksJ d S N)i  {   r	      )
min_shapesr   channel_axisr
   r   r   r   r   -test_generates_gray_images_with_correct_shape      
r   c                  C   r   r   r
   r   r   r   r   Etest_generates_gray_images_with_correct_shape_deprecated_multichannel   r   r   r   )Nr         c                 C   sP   d}d}t ||dd| d\}}| d u r|}n	tt|| |}|j|ks&J d S )Nr   @      r	   r   )num_channelsr   r   r   )r   tuplenpinsertr   )r   r   r    r   r   Zexpected_shaper   r   r   %test_generated_shape_for_channel_axis   s   
r$   c                  C   s   t ddddd\} }t|dksJ |d \}}|dks J || |d d |d d |d d |d d f }|dk rF|dk  sHJ d| |d d |d d |d d |d d f< | dk sjJ d S )Nr   r   	rectangle*   r   r   rngr      r   lenallr   labelslabelbboxcropr   r   r   4test_generates_correct_bounding_boxes_for_rectangles1   s   44r2   c                  C   s   t ddddd\} }t|dksJ |d \}}|dks J || |d d |d d |d d |d d f }|dk rF|dk  sHJ d| |d d |d d |d d |d d f< | dk sjJ d S )Nr   r   triangler&   r'   r   r)   r   r+   anyr,   r-   r   r   r   3test_generates_correct_bounding_boxes_for_trianglesB   s   44r6   c                  C      t ddddddd\} }t|dksJ |d \}}|dks"J || |d d |d d |d d |d d f }|dk rH|dk  sJJ d| |d d |d d |d d |d d f< | dk slJ d S )	N+   ,   r   r   circler&   r   min_sizemax_sizer   r(   r   r)   r4   r-   r   r   r   1test_generates_correct_bounding_boxes_for_circlesR      
44r?   c                  C   r7   )	Nr8   r   r   ellipser&   r<   r   r)   r4   r-   r   r   r   2test_generates_correct_bounding_boxes_for_ellipsesd   r@   rB   c                   C   B   t t tdddddd W d    d S 1 sw   Y  d S )Nr   r   r   r;   r   r=   r>   r   r   Zraises
ValueErrorr   r   r   r   r   /test_generate_circle_throws_when_size_too_smallv      "rH   c                   C   rC   )NrD   r   rA   rE   rF   r   r   r   r   0test_generate_ellipse_throws_when_size_too_small{   rI   rJ   c                   C   rC   )Nr   r   r3   rE   rF   r   r   r   r   1test_generate_triangle_throws_when_size_too_small   rI   rK   c                  C   s   t dddddd\} }t|dksJ |d \}}| |d d |d d |d d |d d f }t|dkrHt|dkrHt|dk sJJ d S )N)2   r   r   r%   rE   r   )r   r   r	   r)   )r   r+   r"   r   r5   )r   r.   r   r0   r1   r   r   r   &test_can_generate_one_by_one_rectangle   s   

42rM   c                   C   sx   t t tddd dd W d    n1 sw   Y  t t tdddd W d    d S 1 s5w   Y  d S )N)i  i  r   )r      )r   r   intensity_range)r   r   ))r)   )r   rO   rF   r   r   r   r   -test_throws_when_intensity_range_out_of_range   s   "rQ   c                  C   sb   t dg tddddd\} }W d    n1 sw   Y  t|dks'J | dk s/J d S )	NzCould not fit)'  rR   r   rR   r;   )r   r=   r   r   r)   )r   r   r+   r,   r   r.   r   r   r   ?test_returns_empty_labels_and_white_image_when_cannot_fit_shape   s   rT   c                     sX   d} g  t dD ]}tdd| d\}} | qt fdd dd  D s*J d S )Nr&   r   r   )r   r(   c                 3   s    | ]	}| d  kV  qdS )r   Nr   ).0otherr.   r   r   	<genexpr>   s    z?test_random_shapes_is_reproducible_with_seed.<locals>.<genexpr>r   )ranger   appendr,   )Zrandom_seedr   r/   r   rW   r   ,test_random_shapes_is_reproducible_with_seed   s   &r[   c                  C   s8   t ddddd\} }t|dksJ | dk sJ d S )Nr   r	   ))r)   r)   r&   )r   rO   r(   r   r)   r*   rS   r   r   r   3test_generates_white_image_when_intensity_range_255   s
   
r\   )numpyr"   ZpytestZskimage._sharedr   Zskimage._shared._warningsr   Zskimage.drawr   r   r   r   markZparametrizer$   r2   r6   r?   rB   rH   rJ   rK   rM   rQ   rT   r[   r\   r   r   r   r   <module>   s,    
	
	