a
    
d                     @   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'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   n/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/skimage/draw/tests/test_random_shapes.py.test_generates_color_images_with_correct_shape	   s    r   c                  C   s&   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   s    
r   c                  C   s&   t dddd d\} }| jdks"J d S r   r
   r   r   r   r   Etest_generates_gray_images_with_correct_shape_deprecated_multichannel   s    
r   r   )Nr         c                 C   sP   d}d}t ||dd| d\}}| d u r,|}ntt|| |}|j|ksLJ 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 r|dk  sJ d| |d d |d d |d d |d d f< | dk sJ d S )Nr   r   	rectangle*   r   r   rngr      r   lenallr   labelslabelbboxcropr   r   r   4test_generates_correct_bounding_boxes_for_rectangles+   s    
44r0   c                   C   s>   t dg  tddddd W d    n1 s00    Y  d S )Nz&`random_seed` is a deprecated argumentr   r   r#   r$   )r   r   random_seed)r   r   r   r   r   r   test_random_seed_deprecation@   s    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 r|dk  sJ d| |d d |d d |d d |d d f< | dk sJ d S )Nr   r   triangler$   r%   r   r'   r   r)   anyr*   r+   r   r   r   3test_generates_correct_bounding_boxes_for_trianglesI   s    
44r6   c                  C   s   t ddddddd\} }t|dks(J |d \}}|dksDJ || |d d |d d |d d |d d f }|dk r|dk  sJ d| |d d |d d |d d |d d f< | dk sJ 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_circles]   s    
44r>   c                  C   s   t ddddddd\} }t|dks(J |d \}}|dksDJ || |d d |d d |d d |d d f }|dk r|dk  sJ d| |d d |d d |d d |d d f< | dk sJ d S )	Nr7   r   r   ellipser$   r;   r   r'   r4   r+   r   r   r   2test_generates_correct_bounding_boxes_for_ellipsess   s    
44r@   c                   C   s@   t t" tdddddd W d    n1 s20    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_small   s    
rE   c                   C   s@   t t" tdddddd W d    n1 s20    Y  d S )NrA   r   r?   rB   rC   r   r   r   r   0test_generate_ellipse_throws_when_size_too_small   s    
rF   c                   C   s@   t t" tdddddd W d    n1 s20    Y  d S )Nr   r   r3   rB   rC   r   r   r   r   1test_generate_triangle_throws_when_size_too_small   s    
rG   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rt|dkrt|dk sJ d S )N)2   r   r   r#   rB   r   )r   r   r	   r'   )r   r)   r    r   r5   )r   r,   r   r.   r/   r   r   r   &test_can_generate_one_by_one_rectangle   s    
4rI   c                   C   sv   t t  tddd dd W d    n1 s00    Y  t t tdddd W d    n1 sh0    Y  d S )N)i  i  r   )r      )r   r   intensity_range)r   r   ))r'   )r   rK   rC   r   r   r   r   -test_throws_when_intensity_range_out_of_range   s    $rM   c                  C   sb   t dg$ tddddd\} }W d    n1 s40    Y  t|dksNJ | dk s^J d S )	NzCould not fit)'  rN   r   rN   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    (rP   c                     sX   d} g  t dD ] }tdd| d\}} | qt fdd dd  D sTJ d S )Nr$   r   r   )r   r&   c                 3   s   | ]}| d  kV  qdS )r   Nr   ).0otherr,   r   r   	<genexpr>       z?test_random_shapes_is_reproducible_with_seed.<locals>.<genexpr>r   )ranger   appendr*   )r1   r   r-   r   rS   r   ,test_random_shapes_is_reproducible_with_seed   s    rX   c                  C   s8   t ddddd\} }t|dks$J | dk s4J d S )Nr   r	   ))r'   r'   r$   )r   rK   r&   r   r'   r(   rO   r   r   r   3test_generates_white_image_when_intensity_range_255   s
    
rY   )numpyr    ZpytestZskimage._sharedr   Zskimage._shared._warningsr   Zskimage.drawr   r   r   r   markZparametrizer"   r0   r2   r6   r>   r@   rE   rF   rG   rI   rM   rP   rX   rY   r   r   r   r   <module>   s,   
				