o
    hl                     @   s   d dl Z d dlmZ d dlZd dlmZ d dlZ	d dl
Z
d dlm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)StringIO)cyclerc                  C   b   t  \} }|tdg d tdD ]}|tdtd qdd |jD g dks/J d S )Ncolorrgy   
   c                 S      g | ]}|  qS  	get_color.0lr   r   p/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/matplotlib/tests/test_cycles.py
<listcomp>       z)test_colorcycle_basic.<locals>.<listcomp>r   r   r	   r   pltsubplotsset_prop_cycler   rangeplotlinesfigax_r   r   r   test_colorcycle_basic   
    r"   c                  C   s   t  \} }|tdg dtdg d  tdD ]}|tdtd qdd |jD g d	ks6J d
d |jD g dksDJ d S )Ncr   marker.*xr
   r   c                 S   r   r   r   r   r   r   r   r      r   z%test_marker_cycle.<locals>.<listcomp>r   c                 S   r   r   
get_markerr   r   r   r   r      r   r'   r(   r)   r'   r   r   r   r   r   test_marker_cycle   s    r-   c                  C   s$   t  \} }|tg dd d S )N)   +r'   r
   )r%   )r   r   r   r   r   r    r   r   r   test_valid_marker_cycles   s   r1   c                  C   s   t  \} }|jtg dtg dd tdD ]}|tdtd qdd |jD g dks5J d	d |jD g d
ksCJ d S )Nr   r&   )r$   r%   r
   r   c                 S   r   r   r   r   r   r   r   r   )   r   z=test_marker_cycle_kwargs_arrays_iterators.<locals>.<listcomp>r   c                 S   r   r   r*   r   r   r   r   r   *   r   r,   )	r   r   r   nparrayiterr   r   r   r   r   r   r   )test_marker_cycle_kwargs_arrays_iterators#   s   
 r5   c                  C   r   )Nls---:r
   r   c                 S   r   r   get_linestyler   r   r   r   r   2   r   z-test_linestylecycle_basic.<locals>.<listcomp>r8   r9   r:   r8   r   r   r   r   r   test_linestylecycle_basic-   r#   r>   c                  C   s   t  \} }|tdg dtdg d tdg d  tdD ]}|tdtd q"d	d
 |jD dd
 dD ks@J dd
 |jD g dksNJ dd
 |jD g dks\J d S )Nr$   r   hatchxxO|-	linestyler7   r
   r   c                 S   r   r   get_facecolorr   pr   r   r   r   <   r   z(test_fillcycle_basic.<locals>.<listcomp>c                 S      g | ]}t j|qS r   mplcolorsto_rgbar   r$   r   r   r   r   =       r   c                 S   r   r   	get_hatchrG   r   r   r   r   >   r   )rA   rB   rC   rA   c                 S   r   r   r;   rG   r   r   r   r   ?   r   r=   r   r   r   r   r   fillpatchesr   r   r   r   test_fillcycle_basic5   s    rU   c                  C   s   t  \} }|tdg dtdg d tdg d  td}|j||dd	d
 |j||dd
 ||| ||| dd |jD dd dD ksPJ dd |jD g dks^J d S )Nr   r   r?   r@   r%   )r'   r(   Dr   r   rA   )r?   rB   c                 S   r   r   rE   rG   r   r   r   r   P   r   z)test_fillcycle_ignore.<locals>.<listcomp>c                 S   rI   r   rJ   rN   r   r   r   r   Q   rO   )r   r   r   r	   c                 S   r   r   rP   rG   r   r   r   r   R   r   )rA   rB   rB   rC   rR   )r   r    tr   r   r   test_fillcycle_ignoreB   s    rX   c                  C   s|   t  \} }|dddg td}tddD ]
}|j||dd q||| ||| dd	 |jD g d
ks<J d S )N	linewidth   r
   r   r.   皙?lwc                 S   r   r   get_linewidthr   r   r   r   r   ]   r   z0test_property_collision_plot.<locals>.<listcomp>)r[   r[   r[   rZ   r
   )r   r   r   r   r   r   r   r    rW   r$   r   r   r   test_property_collision_plotU   s    ra   c                  C   s   t  \} }|jg ddd td}tddD ]
}|j||dd q||| ||| d	d
 |jD dd
 dD ks@J dd
 |jD g dksNJ d S )N)rZ      r
         bgcmy)rY   	facecolorr   r.   r
   r[   r\   c                 S   r   r   rE   rG   r   r   r   r   h   r   z0test_property_collision_fill.<locals>.<listcomp>c                 S   rI   r   rJ   rN   r   r   r   r   i   rO   c                 S   r   r   r^   rG   r   r   r   r   j   r   )r[   r[   r[   rc   rd   )r   r   r   r   rS   rT   r`   r   r   r   test_property_collision_fill`   s    rg   c               	   C   s  t  \} }|d  |tdddg |dd |dd |dddg |dtddg |dtddg |dtg dg d	g d
g |dg ddgg dg |jddgddgddgd |jtddgtddgtddgd d S )NrY   r.   rZ   r   rgywkbcmr]   )r.   rZ   )r.   r   r   )r   r.   r   )r   r   r.   dashes   )   rb   r.   rb   kwr8   r9   )r]   r   r6   )r   r   r   r   r4   r2   r3   r0   r   r   r   test_valid_input_formsm   s$   

rn   c                  C   s6  t  \} }t }t }t }t| t |jddgddd  W d    n1 s-w   Y  |jg dd t| t |jddgddd  W d    n1 sXw   Y  | | ksgJ |d  t| t |jddgddd  W d    n1 sw   Y  | | ksJ d S )Nr.   rZ   label)ro   r   )r   	   r
   )rY   )	r   r   r   
contextlibredirect_stdoutgetpr   r   getvalue)r   r    prop0prop1prop2r   r   r   test_cycle_reset   s"   
rx   c                  C   sr  t  \} }tttf |d W d    n1 sw   Y  tttf |ddg W d    n1 s;w   Y  tttf |dd W d    n1 sXw   Y  tttf |dd W d    n1 suw   Y  tttf |dddh W d    n1 sw   Y  tttf |jddd W d    n1 sw   Y  tttf |dddg W d    n1 sw   Y  tttf |jddgd	 W d    n1 sw   Y  tttf |tddgd	 W d    n	1 sw   Y  tt |td
dd W d    d S 1 s2w   Y  d S )Nr.   rZ   r   fishrY   r   )rY   r   foobar)rz   rgbcmy)r   r$   )r   r   pytestraises	TypeError
ValueErrorr   r   r0   r   r   r   test_invalid_input_forms   s>   $r   )rq   ior   
matplotlibrK   matplotlib.pyplotpyplotr   numpyr2   r}   r   r"   r-   r1   r5   r>   rU   rX   ra   rg   rn   rx   r   r   r   r   r   <module>   s&    

