
    ^j,                     .	   d dl Zd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlZd Zej                  j!                  ddd	d
dddd ej"                  d      ej$                  dd gdd gg ej&                  dd gdd gg       ed d gdd ggej(                  ej*                  g      dddddd ej,                  d      g      d        Zej                  j!                  dd ej&                  g dg      dddg      d        Z G d dej,                        Z e
g d       d!        Zd" Z e
g dd#$      d%        Z e
d&'      d(        Z e
g d       d)        Zd* Zd+ Z d, Z!ej                  j!                  d- ej,                  d       e       jE                  dd       e       jE                  dd      f ej,                  d e       jE                  dd      .       e       jE                  dd       e       jE                  d/d/      f ej,                  d0 e       jE                  dd      .       e       jE                  dd       e       jE                  d/d/      f ej,                  ej$                   e       jE                  dd      .       e       jE                  dd       e       jE                  d/d/      fg      d1        Z#d2 Z$ej                  j!                  d3 ej,                  d      d4d e       jK                  d4      f ej,                  d      dd5 e       jM                  d5      f ej,                  d e       jE                  dd      .      d4d e       jE                  dd      jK                  d4      f ej,                  d e       jE                  dd      .      dd5 e       jE                  dd      jM                  d5      f ej,                  d0 e       jE                  dd      .      d4d e       jE                  dd      jK                  d4      f ej,                  ej$                   e       jE                  dd      .      d4d e       jE                  dd      jK                  d4      fg      d6        Z'd7 Z(d8 Z)y)9    N)markers)Path)check_figures_equal)Affine2Dc                      t        j                  dd      } | j                         dk(  sJ | j                         rJ y )Nonone)marker	fillstyle)r   MarkerStyleget_fillstyle	is_filled)marker_styles    g/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/matplotlib/tests/test_marker.pytest_marker_fillstyler      s@    &&cVDL%%'6111%%''''    r
   r   x Nonez$\frac{1}{2}$u   $♫$      r   )   r   )r      )r   r   
   )r   r   r   )r   r   r   c                 .    t        j                  |        y N)r   r   r
   s    r   test_markers_validr       s    . r   square)      r   r   r      )r   )r   r#   )r   r   r#      c                     t        j                  t              5  t        j                  |        d d d        y # 1 sw Y   y xY wr   )pytestraises
ValueErrorr   r   r   s    r   test_markers_invalidr)   +   s3     
z	" $F#$ $ $s	   9Ac                   "     e Zd ZdZ fdZ xZS )UnsnappedMarkerStylez
    A MarkerStyle where the snap threshold is force-disabled.

    This is used to compare to polygon/star/asterisk markers which do not have
    any snap threshold set.
    c                 0    t         |           d | _        y r   )super_recache_snap_threshold)self	__class__s    r   r.   zUnsnappedMarkerStyle._recache>   s    #r   )__name__
__module____qualname____doc__r.   __classcell__)r1   s   @r   r+   r+   7   s    $ $r   r+   )pngpdfsvg)
extensionsc                 <   | j                         }|j                         }d}|j                  dgdgd|       |j                  dgdgd|dz         |j                  dgdgd|       |j                  dgdgt        d	      |dz         |j                  dgd
gd|       |j                  dgd
gt        d	      |dz         |j                  dgdgd|       |j                  dgdgt        d      |       |j                  dgdgd|       |j                  dgdgt        d      |       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgd|       |j                  dgdgt        d      |       |j                  dd       |j                  dd       y )N  r   )r$   r   -   r
   sr?   r   r   )r$   r   D      ?)r$   r   r   r   pg      @)r   r   r   r#   )   r   hg      @)rC   r   r   r$   )rC   r      Hr   )   r   g     6@8)r"   g      @xlimylim)add_subplotscatterr+   set)fig_testfig_refax_testax_refsizes        r   test_poly_markerrT   C   s+   ""$G  "F D OOQC!Z4O8
NNA3C46N2 OOQC!VtO4
NNA3$8$=aNHOOQC#yDO9
NNA3&:3&?46NJ OOQC!VtO4
NNA3$8$=NFOOQC#yDO9
NNA3&:3&?4NH OOQC!VtO4
NNA3C4N0OOQC#yDO9
NNA3cTN2 OOQC!Z4O8
NNA3C4N0 OOQC!\TO:
NNA3$8$=NFKK[{K3
JJKkJ2r   c                      d} t        j                         \  }}|j                  dgdgd|        |j                  dgdgd|        |j                  dd	       y )
Nr<   r   )r   r   r>   r   )r   r   r   )r"         ?r"   rA   rI   )pltsubplotsrM   rN   )rS   figaxs      r   test_star_markerr\   p   sX     DllnGCJJsQC$J/JJsQC	TJ2FF+F.r   g333333?)r:   tolc                 p   | j                         }|j                         d}fd}|j                  dgdgd|        |dd|       |j                  dgdgd|        |dd|       |j                  d	gd	gd
|        |d	d|dz         |j                  dd       j                  dd       y )Nr<   c                     j                  | g| gt        |      |       j                  d      dk(  r!j                  | g| gt        |      |       y y )Nr>   extr7   )rM   r+   getfixturevalue)ystylerS   rR   requests      r   draw_ref_markerz-test_asterisk_marker.<locals>.draw_ref_marker   s_     	sQC(<U(CtL""5)U2NNA3,@,G!  # 3r   r   )r$   r   r>   +rV   )r$   r   r   r   )r$   r   r=   r   r   rW   rI   )rL   rM   rN   )rO   rP   rd   rQ   rS   re   rR   s     `   @r   test_asterisk_markerrg      s    ""$G  "F D# OOQC!VtO4AsD!OOSEC5dO;Cd# OOQC!Z4O8AsDF#KK[{K3
JJKkJ2r   g(\?)r]   c                     | j                         }|j                         }|j                  ddddd       |j                  ddddd       y )Nr   r   d   )r
   
markersizemarkeredgewidthz	$\bullet$)rL   plot)rP   rO   rR   rQ   s       r   test_text_markerrm      sJ      "F""$G
KK1Tc1KELLAlsALNr   c                    t        t        j                  j                        }d}d}||z  dz   }d|z  |z  }d|z  |z  dz  }| j                  || j                  z  || j                  z  f       | j                  d      }|j                  ||j                  z  || j                  z  f       |j                  d      }	t        t        j                  j                        D ]  \  }
}|
|z  }|
|z  dz  }|j                  ||g||dz   gddd	       |j                  ||d||d
dd       |j                  ||dz   d||d
dd       |	j                  ||g||dz   gddd||d
dd
        |j                  d|fdd|z  f       |	j                  d|fdd|z  f       |j                  d       |	j                  d       y )N2   r   r   r   )r   r   r   r   k-r#   )c	linestylelwr   fullwhite)rr   r
   rj   rk   r   markerfacecolor)rr   rs   rt   r
   rj   rk   r   rw   r"   rI   off)
lenr   r   set_size_inchesdpiadd_axes	enumeraterl   rN   axis)rP   rO   marker_countmarker_sizencolnrowwidthheightrR   rQ   ir
   r   rb   s                 r   test_marker_clippingr      s   
 w**223LKD4!#DOd"E_t#a'FUW[[0&7;;2FGHl+Fehll2FW[[4HIJ-Gw22::; @	6HIM 	QFQAJ#CAqC!k2$g 	 	? 	Aq1u!k2$g 	 	?
 	aVaQZ3#!"{B%w 	 	@@$ JJT4La$h'7J8KKdD\q4x(8K9
KKLLr   c                      t        j                  d      } t               j                  dd      }t        j                  d|      }| j	                         |z   |j	                         k(  sJ y)zBTest that initializing marker with transform is a simple addition.r   r   	transformN)r   r   r   	translateget_transform)r
   tt_markers      r   test_marker_init_transformsr      s]      %F
Q"A""3!4H!A%)?)?)AAAAr   c                      t        j                  d      } t        j                  dd      }|j                         dk(  sJ | j                         dk7  sJ y )N*round)	joinstyle)r   r   get_joinstyler
   styled_markers     r   test_marker_init_joinstyler      sR      %F''w?M&&(G333!W,,,r   c                      t        j                  d      } t        j                  dd      }|j                         dk(  sJ | j                         dk7  sJ y )Nr   r   )capstyle)r   r   get_capstyler   s     r   test_marker_init_captyler      sR      %F''g>M%%'7222 G+++r   zmarker,transform,expectedr   r   z$|||$c                     | j                  |      }|| usJ |j                         |k(  sJ | j                  |j                  usJ y r   )transformedget_user_transform_user_transform)r
   r   expected
new_markers       r   test_marker_transformedr      sS     ##I.JV###((*h666!!)C)CCCCr   c                  ,   t        j                  d      } t        j                  t              5  | j                         }d d d        t        j                  t              5  | j                  dd      }d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   r   degrad)r   r   r&   r'   r(   rotated)r
   r   s     r   test_marker_rotated_invalidr      sw      %F	z	" &^^%
&	z	" 4^^^3
4 4& &4 4s   A>!B
>B
Bzmarker,deg,rad,expectedr   g{Gz?c                     | j                  ||      }|| usJ |j                         |k(  sJ | j                  |j                  usJ y )Nr   )r   r   r   )r
   r   r   r   r   s        r   test_marker_rotatedr     sU     CS1JV###((*h666!!)C)CCCCr   c                     t        j                  d      } | j                  d      }|| usJ |j                         t	               j                  d      k(  sJ | j                  |j                  usJ | j                  dd      }|| usJ |j                         t	               j                  dd      k(  sJ | j                  |j                  usJ t        j                  dt	               j                  dd            } | j                  d      }|| usJ t	               j                  dd      j                  d      }|j                         |k(  sJ | j                  |j                  usJ y )N1r   r#   r   r   )r   r   scaledr   r   scaler   r   )r
   r   r   s      r   test_marker_scaledr     sW     %Fq!JV###((*hj.>.>q.AAAA!!)C)CCCCq!$JV###((*hj.>.>q!.DDDD!!)C)CCCC  
0D0DQ0JKFq!JV###z##Aq)//2H((*h666!!)C)CCCCr   c                      t        j                  dd      } t        j                  ddt               j                  d            }| j	                         j                  d      |j	                         k(  sJ y )Nr   leftZ   )r   r   r   
rotate_degget_alt_transform)m1m2s     r   test_alt_transformr   -  s`    			S&	)B			S&(**?*?*C	DB!,,R0B4H4H4JJJJr   )*numpynpmatplotlib.pyplotpyplotrX   
matplotlibr   matplotlib.pathr   matplotlib.testing.decoratorsr   matplotlib.transformsr   r&   r   markparametrizeint64TICKLEFTarrayMOVETOLINETOr   r    r)   r+   rT   r\   rg   rm   r   r   r   r   r   r   r   r   rotater   r   r    r   r   <module>r      s        = * ( 
BHHQK!Wq!fBHHr1g1v1a&1a&	DKK56


G'$ * +* 
 BHH !"
$ $$
	$7.. 	$  56)3 7)3X/  54@3 A3F O O  56% 7%PB-, 4Wxz33Aq9
Q"$W
(<(<Q(BC
Q"HJ$8$8A$>@WHJ,@,@A,FGZ!Q!5!5a!;=WHJ$8$8A$>@
Q"HJ$8$8A$>@
7 
D
D4 2Wr4)>)>r)BCWtT8:+<+<T+BCW
(<(<Q(BC
D(*&&q!,77;=W
(<(<Q(BCdHJ((A.55d;=WHJ,@,@A,FG$
$$Q*55b9;WHJ$8$8A$>@
D(*&&q!,77;=5 DDD(Kr   