+
     ]i8  c                   sr   R t ^ RIt^ RIt^ RIHtHt ^ RIt^ RIt	^ RI
HtHtHtHtHtHtHtHtHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHtHtH t!H"t#H$t%H&t& R t'R t(R	 t)R
 t*]! R.R7      R 4       t+]! R.R7      R 4       t,R t-]! R.4      R 4       t.]! R.RR7      R 4       t/]! R.RR7      R 4       t0]	Pb                  Pe                  R4      R 4       t3]! R.RR7      R 4       t4R t5]! R.R7      R 4       t6R t7]! R.R]Pp                  ! 4       R 8X  d   ^ MR!R"7      R# 4       t9R$ t:]! R%.RRR&7      R' 4       t;]! R(.4      R) 4       t<]! R*.R+R]Pp                  ! 4       R 8X  d   ^ MR,R-7      R. 4       t=]! R.R7      R/ 4       t>]! R.R7      R0 4       t?R1 t@R2 tAR3 tBR4 tC]! R.R7      R5 4       tDR6 tER7 tF]! R8.R+R97      R: 4       tG]! R;.R+R97      R< 4       tHR= tI]P                  P                  R>RV4      R? 4       tL]! R@.R.RA7      RB 4       tM]! R@.R.RA7      RC 4       tN]! R@.R.RA7      RD 4       tORE tP]P                  P                  RFRW4      RG 4       tQRH tRRI tSRJ tTRK tURL tV]! RM.RRN.R+RRO7      RP 4       tW]! . RXOR7      RQ 4       tX]! . RXOR7      RR 4       tYRS tZ]! . RYOR7      RT 4       t[RU t\R# )Zz'
Tests specific to the patches module.
N)assert_almost_equalassert_array_equal)	AnnulusEllipsePatchPolygon	RectangleFancyArrowPatch
FancyArrowBoxStyleArc)image_comparisoncheck_figures_equal)Bbox)collectionscolorspatchespath
transformsrcParamsc                  s   ^ ^ .^ ^.^^..p V ^ ^ ..,           p\        V RR7      p\        VP                  4       V4       VP                  V 4       \        VP                  4       V4       \        VRR7      p\        VP                  4       V 4       VP                  V4       \        VP                  4       V 4       \        V RR7      p\        VP                  4       V 4       VP                  V 4       \        VP                  4       V 4       \        VRR7      p\        VP                  4       V4       VP                  V4       \        VP                  4       V4       R# )    TZclosedFN)r   r   Zget_xyZset_xy)xyZxyclosedp      D/usr/lib64/python3.14/site-packages/matplotlib/tests/test_patches.pytest_Polygon_closer      s    a&1a&1a&	!BaVH}H 	4 Aqxxz8,HHRLqxxz8, 	'Aqxxz2&HHXqxxz2& 	5!Aqxxz2&HHRLqxxz2& 	&Aqxxz8,HHXqxxz8,    c                  sF   ^
^.p ^p^pRp\        WV4      p\        VP                  4       V4       \        VP                  4       R4       RpVP	                  ^Z4       \        VP                  4       V4       \        VP                  4       R4       ^!p\
        P                  ! 4       P                  ! . V O\        P                  ! V4      N5!  pVP                  V4      pVP	                  V4       \        VP                  4       V4       V ^ ,          V^,          ,           V ^,          V^,          ,           .p \        WV4      p\        VP                  4       V4       RpVP	                  ^Z4       \        VP                  4       V4       \        VP                  4       V 4       ^!p\
        P                  ! 4       P                  ! . V O\        P                  ! V4      N5!  pVP                  V4      pVP	                  V4       \        VP                  4       V4       R# )
   N)r      )   r   )r      )r   r    )g      %@   )r   )r   r!   )   r!   )r"   r   )i	        4@))      '@r#   )r$        5@)      #@r%   )r&   r#   )r   r   Zget_cornersZ
get_center	set_anglemtransformsZAffine2DZrotate_aroundnpZdeg2rad	transformr    r   )	locwidthheightZcornersrectZcorners_rotZthetaZtellipse	            r   test_corner_centerr1   :   s   r(CEF 7GS(Dt'')73t(*5 9KNN2t'');7t()4 E,,EcE2::e3DEA++g&KNN5((*K8 q6EAIq6FQJ Cc&)G w**,g6 IKbw**,k:w))+S1 E,,EcE2::e3DEA++g&Ke++-{;r   c            
      s   \        R^ ^ ^ R7      p \        V P                  4       RR.4       \        V P                  4       RR.4       \        R^^^R7      p \        V P                  4       V P                  ^ ,          V P
                  ^,          \        P                  ! ^4      ,          ,           V P                  ^,          V P
                  ^,          ,           3V P                  ^ ,          V P
                  ^,          \        P                  ! ^4      ,          ,
          V P                  ^,          V P
                  ^,          ,
          3.4       \        V P                  4       V P                  ^ ,          V P                  ^,          ,
          V P                  ^,          V P                  ^,          \        P                  ! ^4      ,          ,           3V P                  ^ ,          V P                  ^,          ,           V P                  ^,          V P                  ^,          \        P                  ! ^4      ,          ,
          3.4       \        P                  ! V P                  4       4      w  r\        P                  P                  W,           ^,          V P                  4       \        P                  ! V P                  4       4      w  r\        P                  P                  W,           ^,          V P                  4       \        RRRRR7      p \        P                  ! V P                  4       4      w  r\        P                  P                  W,           ^,          V P                  4       \        P                  ! V P                  4       4      w  r\        P                  P                  W,           ^,          V P                  4       R# )	r   r   r,   r-   anglegQ@gGz?gR1Q@Nr   r           r6   )gjt@g+η%)r   r    Zget_verticesZget_co_verticescenterr,   r)   sqrtr-   arraytesting)r/   Zv1Zv2r   r   test_ellipse_verticesr;   j   s   q!<G	Z  !	Z 
 q"=G q!GMMA$5
$BBq!GMMA$55
 q!GMMA$5
$BBq!GMMA$55		
 ! q!GNNQ$66q!GNNQ$6$CC
 q!GNNQ$66q!GNNQ$6$CC		
 XXg**,-FBJJ""BGq='..AXXg--/0FBJJ""BGq='..A)t5QGXXg**,-FBJJ""BGq='..AXXg--/0FBJJ""BGq='..Ar   c                  s6   \         P                  ! R R.4      p ^p^pRp\        WW#R7      p\        WV4      p\         P                  V,          R,          p\         P                  ! \         P
                  ! V4      \         P                  ! V4      ) .\         P                  ! V4      \         P
                  ! V4      ..4      p\         P                  ! WuP                  4       V ,
          4      P                  V ,           p\        VP                  4       V4       R# )      ?       @g      >@r3        f@N)r)   asarrayr   Zpir9   ZcosZsinZinner	get_vertsZTr    )	r+   r,   r-   r3   Zrect1Zrect2Z	angle_radZrotation_matrixZ	new_vertsr0   r   test_rotate_rectrB      s    
**c3Z
 CEFE c&6E c&)E %Ihh	!2RVVI5F4F G!#	!2RVVI5F G I JO //*;c*ABDDsJI )95r   png)
extensionsc                 s    V P                  4       pVP                  4       pRp^^re^p\        WEWgR7      pVP                  V4       \        WEV4      p	VP                  V	4       V	P                  V4       R# )r   r>   Nr4   )add_subplotr   	add_patchr'   )
fig_testfig_refax_testax_refr+   r,   r-   r3   rect_ref	rect_tests
   &&        r   test_rotate_rect_drawrM      ss    ""$G  "F
C6EV9H
X
 #f-Ii r   c           
      sx   V P                  4       pVP                  4       pRpRRre\        WEV^R^ ^^.3R7      p\        WEV^R^ . RO3R7      pVP                  V4       VP                  V4       \        WEV^R^ ^^.3R7      p	\        WEV^R^^^.3R7      p
VP                  V	4       VP                  V
4       R# )皙?皙?b)	linewidth	edgecolor	linestylerNrN   rN   )r      rV   r   )rE   r   rF   )rG   rH   rI   rJ   r+   r,   r-   rK   Z	rect_ref2rL   Z
rect_test2s   &&         r   test_dash_offset_patch_drawrW      s    ""$G  "F
C#6VqC;<q!f+GH #fS78,6GII
 X
Y #fS?@1a&kKI3vc?@1a&kKJ
 i j!r   c                  s    \        R^^4      P                  4       RR p \        RRR4      P                  4       RR p\        \        P                  ! V^^ 4      V 4       R# )   N)rY   rZ   r4   )r   rA   r   r)   Zroll)Zpos_verticesZneg_vertices     r   test_negative_rectr]      sW     Xq!,668"=LVR,668"=Lrww|Q2LAr   zclip_to_bbox.pngc                  sP   \         P                  ! 4       w  rVP                  R	^.4       VP                  R
^d.4       \        P
                  P                  ^4      P                  4       pV;P                  ^
^d.,          un        V;P                  ^^.,          un        \        P
                  P                  4       P                  4       pV;P                  ^
^d.,          un        V;P                  ^
R.,          un        \        P
                  P                  W#4      p\        P                  ! VRRRR7      pVP                  V4       \        P                  ! RR.^2R..4      pVP!                  V4      p\        P                  ! VRR^RR7      pVP                  V4       R# )i         ?Zcoralnone)alpha	facecolorrR   Zgreenblack)r`   ra   lwrR   Niijiig     `Si)pltsubplotsset_xlimset_ylimmpathPathunit_regular_starZdeepcopyverticesunit_circleZmake_compound_pathmpatches	PathPatchrF   r(   r   Zclip_to_bbox)	figaxr   Zpath2ZcombinedpatchbboxZresult_pathZresult_patchr0   r   test_clip_to_bboxrs      s@   llnGCKKb	KKs::''*335DMMb#YMMMaWMJJ""$--/E	NNr3iN	NNr3iNzz,,T9Hw&BELLc5\B:67D''-K%%3'a7LL LLr   Zpatch_alpha_coloringT)remove_textc                 s   \         P                  P                  ^4      p \         P                  P                  4       p\        P
                  ! VP                  V P                  RRR1,          .4      p\        P
                  ! VP                  V P                  .4      p\         P                  ! W#4      p\         P                  ! V^,           V4      p\        P                  ! 4       p\        P                  ! V.^RRRR7      pVP                  V4       \        P                  ! V^RRRR7      pVP                  V4       VP!                  R^4       VP#                  R^4       R# )zz
Test checks that the patch and collection are rendered with the specified
alpha values in their facecolor and edgecolor.
NdashdotrQ   
linestylesra   rR   rQ   rS   ra   rR   r[      r   r   r^   r   r   rz   g      ?rh   ri   rj   rl   r)   concatenaterk   codesrd   axesmcollectionsZPathCollectionadd_collectionrm   rn   rF   rf   rg   	starcirclevertsr~   Z	cut_star1Z	cut_star2rp   colrq   r0   r   test_patch_alpha_coloringr     s    ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E

5(I

519e,I	B

%
%yk01i0>0?AC cy)*i)7)8:E LLKKAKKAr   Zpatch_alpha_overridec            	      s   \         P                  P                  ^4      p \         P                  P                  4       p\        P
                  ! VP                  V P                  RRR1,          .4      p\        P
                  ! VP                  V P                  .4      p\         P                  ! W#4      p\         P                  ! V^,           V4      p\        P                  ! 4       p\        P                  ! V.^RRRRR7      pVP                  V4       \        P                  ! V^RRRRR7      pVP                  V4       VP!                  R^4       VP#                  R^4       R# )	rV   Nru         ?)rQ   rw   r`   ra   rR   )rQ   rS   r`   ra   rR   r[   ry   r{   r|   r   r0   r   test_patch_alpha_overrider   /  s   
 ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E

5(I

519e,I	B

%
%yk01i,00>0?	AC
 cy)*i%))7)8	:E
 LLKKAKKAr   Zdefaultc                  s:    \         P                  ! R^R^R7      p R# )r   r_   )ra   r`   Nr4   )rd   Circle)Zc    r   test_patch_color_noner   O  s     	

61a8Ar   Zpatch_custom_linestylec                  s   \         P                  P                  ^4      p \         P                  P                  4       p\        P
                  ! VP                  V P                  RRR1,          .4      p\        P
                  ! VP                  V P                  .4      p\         P                  ! W#4      p\         P                  ! V^,           V4      p\        P                  ! 4       p\        P                  ! V.^R.RRR7      pVP                  V4       \        P                  ! V^RRRR7      pVP                  V4       VP!                  R^4       VP#                  R^4       R# )rV   Nrv   rx   r[   )r   )      r   r   rz   r   r   r   r   rz   r|   r   r0   r   test_patch_custom_linestyler   W  s    ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E

5(I

519e,I	B

%
%	!3 4y2C c1y2E LLKKAKKAr   c            	      s   \         P                  P                  ^4      p \         P                  P                  4       p\        P
                  ! VP                  V P                  RRR1,          .4      p\        P
                  ! VP                  V P                  .4      p. ROp\        P                  ! 4       w  rV\        V4       FN  w  rx\         P                  ! W',           V4      p \        P                  ! V ^VRRR7      p	VP                  V	4       KP  	  VP                  RX^,           .4       VP                  RV^,           .4       VP                   P#                  4        R# )rV   Nrx   r[   )---z-.Z:ZsolidZdashedru   Zdottedr   r   )rh   ri   rj   rl   r)   r}   rk   r~   rd   re   	enumeraterm   rn   rF   rf   rg   ZcanvasZdraw)
r   r   r   r~   rw   ro   rp   ilsrq   s
             r   test_patch_linestyle_accentsr   t  s    ::''*DZZ##%FNNFOOT]]4R4-@ABENNFLL$**56E:J llnGC:&zz%)U+""4-."-6-68 	U ' KKQUKKQUJJOOr   c           	      s   \         P                  P                  4       pV P                  4       pVP                  4       p\	        . RO4       F  w  rV\         P                  ! VP
                  V,           VP                  4      p\        P                  ! V^VRRR7      pVP                  V4       \        P                  ! V^RRR R7      pVP                  V4       K  	  VP                  RX^,           .4       VP                  RV^,           .4       VP                  RV^,           .4       VP                  RV^,           .4       R# )r_   rx   r   N)r_   ZNoneZ Z r   r   r[   )rh   ri   rl   rE   r   rk   r~   rm   rn   rF   rf   rg   )	rG   rH   r   rI   rJ   r   r   r   rq   	   &&       r   test_patch_linestyle_noner     s   ZZ##%F""$G  "F45zz&//A-v||<""4-."-6-68 	% ""4-.#-6-35 	 6 b!a%[!b!a%[!
OORQK 
OORQK r   c            
      s   R RRRRRRR	RR
/p V P                  4        UUu/ uF  w  rW^ ,          bK  	  ppp\        P                  ! R/ VB pV P                  4        F  w  pw  rgp\        WH4      ! V4       K  	  R# u uppi )r7   rT   r,   theta1theta2N)r4   rz   rz   Z
set_center)r   r"   Z
set_radius)   rX   	set_width)r   i   Z
set_theta1)i-   i2   Z
set_theta2 )Zitemsrm   WedgeZgetattr)	Z
param_dictkZvZ	init_argsZwZattrZold_vZnew_vZfuncr0   r   test_wedge_movementr     s    :+.12	4J &0%5%5%78%7TQaD%7I8##A&0&6&6&8""uT '9 9s   A=Zwedge_rangeZx86_64g;On?)rt   tolc                  s   \         P                  ! 4       p R pRR.RR.WR,           .^ R.^ZR.R^.^ R.^-^..^.^-..	p\        V4       FW  w  pw  rEV^,          pV^,          p\        P                  ! V^,          V^,          3^WERR	^R
7      pV P                  V4       KY  	  V P                  R^4       V P                  R^	4       R# )go͂@g,(J@g 7
m@g,(J@gm7
m@r?   h  i|  r_   r   )ra   rR   rc   Ni  iLrZ   )rd   r   r   rm   r   
add_artistrf   rg   )	rp   Zt1Zargsr   r   r   xyZwedger0   r   test_wedge_ranger     s     
B	B,'!34eHN3KHHHD  )FEFAq1u~q&)/31F 	e  / KKAKKAr   c            	     s   \         P                  ! R^R7      p \         P                  ! R^^^R7      p \         P                  ! R^^^R7      p \         P                  ! R^^^^R7      p \         P
                  ! R^^^^^R7      p Rp\         P                  ! RR^^R7      p Rp\         P                  ! R^^R7      p \         P                  ! R^^R	7      p \         P                  ! R^^R
7      p \        P                  ! . RORR7      p\         P                  ! V4      p \         P                  ! \        P                  ! R4      4      p ^^.^^.^^..p\         P                  ! V4      p \         P                   ! VR7      p \         P                   ! RR4      p \         P"                  ! RRR4      p \         P$                  ! V ^^4      pR# )z
Check that patches have nice and working `str` representation.

Note that the logic is that `__str__` is defined such that:
str(eval(str(p))) == str(p)
)r   radiusr2   )r7   rT   r   r   r,   )r   r,   r-   r3   r   r   z>Arc(xy=(1, 2), width=3, height=4, angle=5, theta1=6, theta2=7))r   rT   r,   r3   z.Annulus(xy=(1, 2), r=(3, 4), width=1, angle=2))r   )r   r   Z
resolution)r,   r-   Tr   )r   dataNrz   r   )rX      )r   r   r   r   r   r   )rm   r   r   r   r   r
   r   ZRegularPolygonZCirclePolygonZFancyBboxPatchrh   ri   rn   r   r)   Zemptyr   ConnectionPatchShadow)r   expectedr   r   Zs        r   test_patch_strr     s    	6!,A 	F!AQ?A 	fAaqAA 	f!AQGA 	a1QOAOH 	FfAQ?A?H 	15A 	&rBA 	a:A ::.t<D4 A 	&)*A FQFQF#DA 	  d+A 	  0A 	  8A 	1a Ar   Zmulti_color_hatch)rt   stylec                  s\   \         P                  ! 4       w  rVP                  \        ^4      \        ^^4      4      p\	        V4       F;  w  r4VP                  R4       VP                  RV 24       VP                  R4       K=  	  VP                  4        VP                  R4       \        ^4       Fb  p\        P                  P                  RRV 2/4      ;_uu_ 4        \        VR
,
          ^3R^RRR7      pR	R	R	4       VP                  X4       Kd  	  R	#   + '       g   i     L'; i)r   r_   CZ/Fzhatch.colorrO   z//)hatchfcNg?)rd   re   ZbarZranger   Zset_facecolorZset_edgecolorZ	set_hatchZautoscale_view	autoscalemplr   contextr   rF   )ro   rp   Zrectsr   r.   rT            r   test_multi_color_hatchr     s    llnGCFF58U1a[)EU#6"Qqc7#s $
 LL1XYY1#w7881v:q/2qHA 9
Q 88s   "DD+zunits_rectangle.pngc                  s   ^ RI Hu Hp  V P                  4        \        P
                  ! ^V P                  ,          ^V P                  ,          3^V P                  ,          ^V P                  ,          4      p\        P                  ! 4       w  r#VP                  V4       VP                  ^V P                  ,          ^V P                  ,          .4       VP                  ^V P                  ,          ^	V P                  ,          .4       R# r   N)Zmatplotlib.testing.jpl_unitsr:   Z	jpl_unitsZregisterrm   r   Zkmrd   re   rF   rf   rg   )ZUr   ro   rp          r   test_units_rectangler   )  s    ,,JJLAaddFAaddF+QqttVQqttV<AllnGCLLOKK144144 !KK144144 !r   zconnection_patch.pngZmpl20g~jt?)r   rt   r   c            
      s   \         P                  ! ^^4      w  p w  r\        P                  ! RR	RRW!RR7      pVP	                  V4       R
pRpRpVP                  4       p\        P                  ! WEVVRR7      pVP	                  V4       R# )rz   r   ->)xyAxyBcoordsAcoordsBaxesAZaxesB
arrowstylezaxes fractionr   )r   r   r   r   r   NrU   )?r   )g333333?r<   )r6   皙?)rd   re   rm   r   r   Zget_yaxis_transform)ro   ax1ax2conr   r   r   r              r   test_connection_patchr   6  s     ll1a(OC#

"
"zz+16),.24C NN3
C
CG%%'G

"
"sW+2sDCNN3r   c           
      s   V P                  ^^4      w  r#\        P                  ! RRVR	RR^R7      pV P                  V4       VP                  ^^4      w  r#VP                  p\
        P                  R,          \
        P                  R&   \        P                  ! RRVVP                  ^,
          VP                  ^,
          3RR^R7      pVP                  V4       R# )
rz   r   figure pixelsr   r   r   r   r   r   r   ZshrinkB
figure.dpisavefig.dpiN333333?r   ii)	re   rm   r   r   rr   rd   r   r,   r-   )rG   rH   r   r   r   Zbbs   &&    r   test_connection_patch_figr   J  s    
   A&HC

"
"fC$C 1%HC	B"%,,|"<CLL

"
"fCXX]BIIN+_$C sr   c           
      sn   R
pRpV P                  ^^4      w  rE\        P                  ! VRVVRR^R7      pV P                  V4       \        P
                  R,          \        P
                  R&   VP                  ^^4      w  rEV^ ,          VP                  ^H,          ,          V^,          VP                  ^H,          ,          3pV^ ,          VP                  ^H,          ,          V^,          VP                  ^H,          ,          3p\        P                  ! VRVVRR^R7      pVP                  V4       R	# )r   zaxes pointszfigure pointsr   r   r   r   zaxes pixelsr   Nr   r   )re   rm   r   r   rd   r   dpi)	rG   rH   ZxyA_ptsZxyB_ptsr   r   r   ZxyA_pixZxyB_pixr   r   "test_connection_patch_pixel_pointsr   a  s   GG  A&HC

"
"wS'..2A?C "%,,|"<CLL1%HCqz7;;r>*GAJB,GHGqz7;;r>*GAJB,GHG

"
"wS'..2A?C sr   c                  s    ^ RI H p Hp V ! R^^^ ^ ^ 4      pV! ^R7      p\        P                  ! V^ 3V^4      p\        P
                  ! 4       w  rVVP                  V4       R# )r   )datetime	timedelta  )ZsecondsN)r   r   rm   r   rd   re   rF   )r   r   startZdeltarq   ro   rp             r   test_datetime_rectangler   w  sT    ,T1aAq)Eb!Eqz5!4EllnGCLLr   c                  s   ^ RI H p  V ! R^^^ ^ ^ 4      pV ! R^^4      p\        P                  ! \        4      ;_uu_ 4        \        P
                  ! V^ 3V^4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        P
                  ! ^ V3^V4       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)r   r   r   i  N)r   pytestraisesZ	TypeErrorrm   r   )r   r   Zdt_deltar   r   test_datetime_datetime_failsr     s    !T1aAq)Ea#H	y	!	!E1:x3 
" 
y	!	!Au:q(3 
"	! 
"	! 
"	!	!s    B*B=*B:	=C	c            
      s   \         P                  ! RR R4      p . ROpV P                  4       pV P                  4       pV P	                  R4      p\
        P                  ! V Uu. uF  pVP                  VVV4      NK  	  up4      p\
        P                  ! V Uu. uF  qPP                  V4      NK  	  up4      pR# u upi u upi r^   r<   Nr^   r^   ))r6   r^   )r   r^   )r   r^   r   )rm   r   get_pathget_transform_process_radiusr)   r9   Zcontains_point)ellpointsr   r*   r   pointr   resultr   r   test_contains_pointr     s    


:sC
0C>F<<>D!!#I  &FxxBHJBH ,,U-6-35BHJ KH XXfEfU))%0fEFFJ Fs   "B;C c                  s    \         P                  ! RR R4      p . ROpV P                  4       pV P                  4       pV P	                  R4      pVP                  WV4      pV P                  V4      pR# r   )rm   r   r   r   r   Zcontains_points)r   r   r   r*   r   r   r   r   r   test_contains_pointsr     sf    


:sC
0C>F<<>D!!#I  &F##Fv>H  (Fr   c                 sl   \         P                  ! R R.4      p\         P                  ! RR .4      pR\        P                  R&   V P	                  4       p\
        P                  ! VRRR7      p\
        P                  ! WS^ ,          V^,          R7      pVP                  V4       VP                  V4       VP	                  4       p\
        P                  ! VRRR7      p\
        P                  ! W!P                  ^H,          V,          ,           RR\         P                  ! \        P                  ! VP                  4       4      4      R,          \         P                  ! \        P                  ! VP                  4       4      4      R,          RR7      pVP                  V4       VP                  V4       R	# )
r   r   rN   Zfigurer   r^   )r   r,   r-   )ZoxZoy)r   r,   r-   r   ecr`   N)r)   r9   rd   r   re   rm   r   r   rF   r   r@   mcolorsZto_rgbZget_facecolor)rG   rH   r   ZdxyZa1r.   ZshadowZa2s   &&      r   test_shadowr     s5   	2r(	B
((B8
C #+CLL				B2b9D__T!fQ8FLLLL				B2b9Db 3&&b::gnnT%7%7%9:;b@::gnnT%7%7%9:;b@	F
 LLLLr   c                  st    ^ RI H p  V ! R^^4      p\        P                  ! 4       w  r#\        ^ V3RV34      pR# )r   r   i  {Gz?N)r   rd   re   r   )r   Zdtimero   rp   arrowr   r   test_fancyarrow_unitsr     s4    !T1a EllnGCQJu6Er   c                  sL   \         P                  ! 4       w  rVP                  ^ ^ ^
^
^^RR7      p\        P                  ! RR.RR.RR.RR.RR.RR.RR.RR..4      p\        P                  ! R	R	.R	R
.R	R
.RR.RR.R
R	.R
R	.R	R	..4      pVP                  ^^^^^^^R7       R# )r   r^   )head_length
head_widthr,   gGz+@g33333$@gL#@g\(\$@gp=
ף#@g
ףp=
?g(\µ0@gGz.@g\(\?g(\?)r   r   dxdyr,   r   r   Ng
ףp=
ǿ)rd   re   r   r)   r9   set_dataro   rp   r   Z	expected1Z	expected2r   r   test_fancyarrow_setdatar     s    llnGCHHQ2rqQbHIEu~~~e}~e}e}u~	I u~u~u~t}t}u~u~u~	I 
NN
qRBaA1  r   zlarge_arc.svg)r   c            	      sr   \         P                  ! ^^4      w  p w  r^pRpRpW3 FE  p\        W43WU^RR7      pVP                  V4       VP	                  4        VP                  R4       KG  	  VP                  ^^4       VP                  ^^4       VP                  R	R4       VP                  R
R4       R# )rz   i  r   )rc   colorequaliPF  i  NiiXi)rd   re   r
   rF   set_axis_off
set_aspectrf   rg   )ro   r   r   r   r   Zdiameterrp   ar   r   test_large_arcr     s    ll1a(OC#AAHjq<
Q

g	  LLALLA LLLLr   zall_quadrants_arcs.svgc                  st   \         P                  ! ^^RRR7      w  rRpRpRpRp\        VP                  4       V4       EFt  w  pw  rx^ p	\        RR\        P
                  ! ^4      ,          3WC34       F  w  r\        WR7       F  w  pw  r\        W,          V
,          W,          V
,          3W',          W(,          ^RV 2^V,           \        P                  ! \        P                  ! W4      4      R,          RV 2RV 2R7	      pVP                  V4       K  	  X^,           p	K  	  VP                  V) R	,          VR	,          4       VP                  V) R	,          VR	,          4       VP                  ^ R
R7       VP                  ^ R
R7       VP                  4        VP!                  R4       EKw  	  R# )r   F)Zsqueezefigsizei )r   r   r   zbig )rc   r   Zzorderr3   ZlabelZgidi  r   )r   r   N)r   r   ))r[   r[   )r[   rz   r   )rz   r[   ))r   rz   )rz   r   )r   r[   )r[   r   )r   )r   rN   )r   r   )r   gMbP?gH.?)rd   re   zipZravelr)   r8   r   r
   Zrad2degZarctan2rF   rf   rg   ZaxhlineZaxvliner   r   )ro   Zax_arrZscaleZdiag_centersZon_axis_centersZskewsrp   ZsxZsyr   ZprescaleZcentersZjZx_signZy_signr   s                   r   test_rotated_arcsr    s   ,,q!UHEKCE7L8O9EFLLNE2HR!$i)rwwqz1I%J'6&E"GH'0'B##F^h.^h.0JJaS'q5**RZZ%?@3F *qc
 Q (C !A#"G$ 	UFTM54<0
UFTM54<0


1C
 


1C
 

g3 3r   c            
      s    \         P                  ! \        R R7      ;_uu_ 4        \        ^ ^ RRRR7       RRR4       R#   + '       g   i     R# ; i)zGot unknown shape: 'foo'matchr   foo)ZshapeN)r   r   
ValueErrorr   r   r   r   test_fancyarrow_shape_errorr  "  s4    	z)C	D	D1ac/ 
E	D	D	Ds   A  A	z
fmt, matchc                 s    \         P                  ! \        VR 7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)r  N)r   r   r  r	   )Zfmtr  s   &&r   test_boxstyle_errorsr  '  s+    
 
z	/	/ 
0	/	/	/s	   ;A	Zannulus)Zbaseline_imagesrD   c                  s    \         P                  ! 4       w  r\        RRRRR7      p\        RRR^-RRR RR	7      pVP                  V4       VP                  V4       VP	                  R
4       R# )r^   r   皙?gr   rN   mrP   xxxr   r   r`   r   r   Nr   r^   r   )rd   re   r   rF   r   ro   rp   Zcirr   r   r   test_annulusr  0  s`     llnGC
*c4C
0C
*j#rS5:CLLLLMM'r   c                  s@   \         P                  ! 4       w  r\        RRRRR7      p\        RRR^ RRRR	R
7      pVP                  V4       VP                  V4       VP	                  R4       RVn        RVn        RVn        RVn        RVn        RVn        ^-Vn        R# )r6   r   r   r
  r  rN   r  rP   r^   r  r  r   r	  Nr5   r   r   r  )	rd   re   r   rF   r   r7   Zradiir,   r3   r  r   r   test_annulus_settersr  <  s     llnGC
(C#
.C
(FCS5:CLLLLMM'CJCICICJCICICIr   c                  s   \         P                  ! 4       w  r\        RRRRR7      p\        RRR^ RRRR	R
7      pVP                  V4       VP                  V4       VP	                  R4       RVn        VP                  R4       VP                  R4       RVn        RVn        VP                  R4       VP                  R4       RVn        ^-Vn	        R# )r6   r   r   r
  r  rN   r  rP   r^   r  r  r   r	  r   Nr5   r   r   )
rd   re   r   rF   r   r7   Zset_semimajorZset_semiminorr,   r3   r  r   r   test_annulus_setters2r  Q  s     llnGC
(C#
.C
(FCS5:CLLLLMM'CJccCICJccCICIr   c                  s:    ^ ^ .p \        W .4      P                  pR# r   )r   Zextents)r   Zcorrect_extentsr\   r   test_degenerate_polygonr  j  s    FEE>*22Or   kwargc                 s    \         P                  ! \        R R7      ;_uu_ 4        \        RRR/V R/B  RRR4       R#   + '       g   i     R# ; i)zQSetting the 'color' property will override the edgecolor or facecolor properties.r  r   rb   Nr   )r   ZwarnsZUserWarningr   )r  s   &r   test_color_override_warningr  p  sM    	kE
F 
F 	0G0w/0
F 
F 
F 
Fs	   ?A	c                  sD    \        \        P                  ! R4      4      p R# )r   Nr   )r   r)   Zzeros)Zpolyr   r   test_empty_vertsr  x  s    288F#$Dr   c                  s~    \        4       p V P                  \        R ,          '       * 4       V P                  R4       R# )zpatch.antialiasedN)r   Zset_antialiasedr   rq   r   r   test_default_antialiasedr  }  s0    GE	h':;;< 
$r   c                  s^    \        4       p V P                  R 4       V P                  R4       R# )r   N)r   Zset_linestyler  r   r   test_default_linestyler    s%    GE		r   c                      \        4       p R # Nr   r  r   r   test_default_capstyler    	    GEr   c                  r  r  r  r  r   r   test_default_joinstyler     r  r   Zautoscale_arcsvg)rD   r   rt   c                  sv   \         P                  ! ^^RR7      w  r\        R^^^ ^ZR7      .\        RRR^
^R7      .\        RRR^
^R7      \        RRR^n^xR7      \        RRR^^R7      \        RRRRR	R7      .3p\        W4       F/  w  r4V F  pVP	                  V4       K  	  VP                  4        K1  	  R
# )rz   )r   )r   r   r^         ?g      @      @g      @i6  i@  N)r   rz   r4   r   )rd   re   r
   r  rF   r   )ro   ZaxsZ	arc_listsrp   ZarcsZarcr   r   test_autoscale_arcr$    s     ||Aq&1HC	VQ!B	/0	Zc"R	89	Zc"R	8	Zc#c	:	Zc#c	:	Zc#c	:	<=I 'CLL 
 (r   c           	      s   \        R R .R ^^ ^<^R7      p\        R R .R ^^ ^<^R7      p\        P                  ! V.RRR7      pVP                  4       P	                  V4       V P                  4       P                  V4       R# )r^   r   r   r3   r_   r   )r   Z
facecolorsZ
edgecolorsN)r
   r   ZPatchCollectionre   rF   r   )rG   rH   arc1arc2r      &&   r   test_arc_in_collectionr)    sy    BxQq2>DBxQq2>D

&
&v&257C  &&&s+r   c           	      s   \        R R .R ^^ ^<^R7      p\        R R .R^^ ^<^
R7      pVP                  4       P                  V4       V P                  4       P                  V4       VP                  R 4       VP	                  ^4       R# )r^   r%  r"  N)r
   re   rF   r   r'   )rG   rH   r&  r'  s   &&  r   test_modifying_arcr*    sx    BxQq2>DBxa"B?D  &!!$'NN2NN2r   c                  sZ   \         P                  ! 4       w  r\        P                  P	                  ^^ ^ ^
4      p\
        P                  ! RR.RR.RR.RR.RR.RR.RR.RR..4      p\
        P                  ! R	R
.RR.RR.RR.RR.RR.RR.R	R
..4      pVP                  R^^RR7       R# )r   gffffff?r6   g @g       @gffffff@r=   g      $@g333333?g(\?g{Gz?gQ?gGz@gq=
ףp@gQ	@gGz@r#  g{Gz@gQ@gRQ@g(\@r^   g333333?)r   r   r   r,   Ng       g{Gz)rd   re   r   r   ZArrowr)   r9   r   r   r   r   test_arrow_set_datar+    s    llnGCKKaAr*E	r
	c
	b		b		S		b		b		b		I 




r


		I 
NNRA!3N/r   c                 s   V P                  4       pVP                  4       pR p\        P                  ! RV/4      ;_uu_ 4        VP                  \        P
                  ! R^^RR7      4       RRR4       VP                  \        P
                  ! R^^RR7      4       VP                  ^ ,          P                  V4       R#   + '       g   i     L]; i)r=   zhatch.linewidthr   )r   Nr4   )rE   rd   Z
rc_contextrF   rm   r   r   Zset_hatch_linewidth)rG   rH   rI   rJ   rc   r(  r    test_set_and_get_hatch_linewidthr,    s    ""$G  "F	B	*B/	0	0++FAqDE 
1 h((ASABOOA**2.	 
1	0s   *CC	c                  s\    \         P                  ! 4       w  rVP                  . . . . 4      pR # r  )rd   re   r   )ro   rp   r   r   r   test_empty_fancyarrowr-    s#    llnGCHHRR$Er   ))r  zUnknown style: 'foo')z	Round,fooz%Incorrect style argument: 'Round,foo')rR   ra   )rC   r!  pdfeps)rC   r.  r!  r/  )]Z__doc__ZplatformZnumpyr)   Znumpy.testingr    r   r   Z
matplotlibr   Zmatplotlib.patchesr   r   r   r   r   r   r   r	   r
   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.transformsr   Zmatplotlib.pyplotZpyplotrd   r   r   r   r   r   rm   r   rh   r   r(   r   r   r1   r;   rB   rM   rW   r]   rs   r   r   r   r   r   r   r   r   r   Zmachiner   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  ZmarkZparametrizer  r  r  r  r  r  r  r  r  r  r   r$  r)  r*  r+  r,  r-  r   r   r   <module>r0     s     A  L L L O & 8 8
"-J-<`0Bf60 (* )*( (" )"BB %&' (6 )*= >< )*= >> 9% % +,$? @84 (! )!2)  =/t#++-9auFF8:?@ &'TK L$ ()*	" +	" )*'t#++-9auFF$ ( ), ( )*	
4
&& ( )07<> ?#73 4& +,G<! =!H0
  ( 	
 9+5'B C 9+5'B C( 9+5'B C0M "<=1 >1"
D,*
,
 ?#T33   <=, >,  <= >B:  <=: >: r   