+
     ]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       '       g   Q h\        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       '       d   Q h\        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   Z
get_closedr   Zget_xyZset_xy)xyZxyclosedp      D/usr/lib64/python3.14/site-packages/matplotlib/tests/test_patches.pytest_Polygon_closer      s2    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                 sv   V P                  4       pVP                  4       pRp^^re^p\        WEWgR7      pVP                  V4       VP                  4       V8X  g   Q h\        WEV4      p	V	P                  4       ^ 8X  g   Q hVP                  V	4       V	P	                  V4       V	P                  4       V8X  g   Q hR# )r   r>   Nr4   )add_subplotr   	add_patchZ	get_angler'   )
fig_testfig_refax_testax_refr+   r,   r-   r3   rect_ref	rect_tests
   &&        r   test_rotate_rect_drawrM      s    ""$G  "F
C6EV9H
X5((( #f-I A%%%i  E)))r   c           
      sP   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                  4       ^ ^^.38X  g   Q hVP                  4       ^ . RO38X  g   Q hVP                  V4       VP                  V4       \        WEV^R^ ^^.3R7      p	\        WEV^R^^^.3R7      p
V	P                  4       ^ ^^.38X  g   Q hV
P                  4       ^^^.38X  g   Q hVP                  V	4       VP                  V
4       R# )皙?皙?b)	linewidth	edgecolor	linestylerNrN   rN   )r      rV   r   )rE   r   get_linestylerF   )rG   rH   rI   rJ   r+   r,   r-   rK   Z	rect_ref2rL   Z
rect_test2s   &&         r   test_dash_offset_patch_drawrX      sT   ""$G  "F
C#6VqC;<q!f+GH #fS78,6GII!!#Aq6{222""$L(9999
X
Y #fS?@1a&kKI3vc?@1a&kKJ""$QF333##%!aV444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)rZ   r[   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)ra   rb   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_bboxrt      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   
linestylesrb   rR   rQ   rS   rb   rR   r\      r   r   r_   r   r   r{   g      ?ri   rj   rk   rm   r)   concatenaterl   codesre   axesmcollectionsZPathCollectionadd_collectionrn   ro   rF   rg   rh   	starcirclevertsr   Z	cut_star1Z	cut_star2rq   colrr   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   Nrv         ?)rQ   rx   ra   rb   rR   )rQ   rS   ra   rb   rR   r\   rz   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                  sv    \         P                  ! R^R^R7      p V P                  4       ^ ,          ^ 8X  g   Q hR# )r   r`   )rb   ra   Nr4   )re   Circleget_facecolor)Zc    r   test_patch_color_noner   O  s2     	

61a8A??Q1$$$r   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   Nrw   ry   r\   )r   )      r   r   r{   r   r   r   r   r{   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   Nry   r\   )---z-.Z:solidZdashedrv   Zdottedr   r   )ri   rj   rk   rm   r)   r~   rl   r   re   rf   	enumeratern   ro   rF   rg   rh   ZcanvasZdraw)
r   r   r   r   rx   rp   rq   ilsrr   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`   ry   r   N)r`   ZNoneZ Z r   r   r\   )ri   rj   rm   rE   r   rl   r   rn   ro   rF   rg   rh   )	rG   rH   r   rI   rJ   r   r   r   rr   	   &&       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            
      sN   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\        WE4      V8X  g   Q h\        WH4      ! V4       \        WE4      V8X  d   K>  Q h	  R# u uppi )r7   rT   r,   theta1theta2N)r4   r{   r{   Z
set_center)r   r"   Z
set_radius)   rY   	set_width)r   i   Z
set_theta1)i-   i2   Z
set_theta2 )Zitemsrn   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q5(((q5((( '9 9s   B!Zwedge_rangeZx86_64g;On?)ru   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   )rb   rR   rd   Ni  iLr[   )re   r   r   rn   r   
add_artistrg   rh   )	rq   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 \        V 4      R8X  g   Q h\         P                  ! R^^^R7      p \        V 4      R8X  g   Q h\         P                  ! R^^^R7      p \        V 4      R8X  g   Q h\         P
                  ! R^^^^R7      p \        V 4      R8X  g   Q h\         P                  ! R^^^^^R7      p R	p\        V 4      V8X  g   Q h\         P                  ! RR ^^R
7      p Rp\        V 4      V8X  g   Q h\         P                  ! R^^R7      p \        V 4      R8X  g   Q h\         P                  ! R^^R7      p \        V 4      R8X  g   Q h\         P                  ! R^^R7      p \        V 4      R8X  g   Q h\        P                  ! . R!ORR7      p\         P                  ! V4      p \        V 4      R8X  g   Q h\         P                  ! \        P                   ! R"4      4      p \        V 4      R8X  g   Q h^^.^^.^^..p\         P                  ! V4      p \        V 4      R8X  g   Q h\         P"                  ! VR7      p \        V 4      R,          R8X  g   Q h\         P"                  ! RR 4      p \        V 4      R8X  g   Q h\         P$                  ! RR R4      p \        V 4      R8X  g   Q h\         P&                  ! V ^^4      p\        V4      R8X  g   Q h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   radiuszCircle(xy=(1, 2), radius=3)r2   z.Ellipse(xy=(1, 2), width=3, height=4, angle=5)z0Rectangle(xy=(1, 2), width=3, height=4, angle=5))r7   rT   r   r   r,   z6Wedge(center=(1, 2), r=3, theta1=4, theta2=5, width=6))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   z3RegularPolygon((1, 2), 20, radius=5, orientation=0))r   r   Z
resolutionz.CirclePolygon((1, 2), radius=5, resolution=20))r,   r-   z)FancyBboxPatch((1, 2), width=3, height=4)Tr   zPathPatch3((1, 2) ...)z
Polygon0()zPolygon3((1, 2) ...))r   :Ni   NzFancyArrowPatch(Path(array(zFancyArrowPatch((1, 2)->(3, 4))datazConnectionPatch((1, 2), (3, 4))z'Shadow(ConnectionPatch((1, 2), (3, 4)))Nr{   r   )rY      )r   r   r   r   r   r   )rn   r   Zstrr   r   r   r
   r   ZRegularPolygonZCirclePolygonZFancyBboxPatchri   rj   ro   r   r)   Zemptyr   ConnectionPatchShadow)r   expectedr   r   Zs        r   test_patch_strr     s    	6!,Aq62222F!AQ?Aq6EEEEfAaqAAq6GGGGf!AQGAq6MMMMa1QOAOHq6XFfAQ?A?Hq6X15Aq6JJJJ&rBAq6EEEEa:Aq6@@@@ ::.t<D4 Aq6----&)*Aq6\!!!FQFQF#DAq6++++  d+Aq6#;7777  0Aq66666  8Aq666661a Aq6>>>>r   Zmulti_color_hatch)ru   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?)re   rf   ZbarZranger   Zset_facecolorZset_edgecolorZ	set_hatchZautoscale_view	autoscalemplr   contextr   rF   )rp   rq   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registerrn   r   Zkmre   rf   rF   rg   rh   )ZUr   rp   rq          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   ru   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# )r{   r   ->)xyAxyBcoordsAcoordsBaxesAZaxesB
arrowstylezaxes fractionr   )r   r   r   r   r   NrU   )?r   )g333333?r<   )r6   皙?)re   rf   rn   r   r   Zget_yaxis_transform)rp   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# )
r{   r   figure pixelsr   r   r   r   r   r   r   ZshrinkB
figure.dpisavefig.dpiN333333?r   ii)	rf   rn   r   r   rs   re   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   )rf   rn   r   r   re   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   rn   r   re   rf   rF   )r   r   startZdeltarr   rp   rq             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	TypeErrorrn   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\
        P                  ! Wv8H  4      '       g   Q hR# u upi u upi r_   r<   Nr_   r_   ))r6   r_   )r   r_   )r   r_   r   )	rn   r   get_pathget_transform_process_radiusr)   r9   Zcontains_pointall)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66&$%%%%	J Fs   "C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\        P                  ! We8H  4      '       g   Q hR# r   )rn   r   r   r   r   Zcontains_pointsr)   r   )r   r   r   r*   r   r   r   r   r   test_contains_pointsr     s~    


:sC
0C>F<<>D!!#I  &F##Fv>H  (F66&$%%%%r   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   ecra   N)r)   r9   re   r   rf   rn   r   r   rF   r   r@   mcolorsZto_rgbr   )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   re   rf   r   )r   Zdtimerp   rq   arrowr   r   test_fancyarrow_unitsr     s4    !T1a EllnGCQJu6Er   c                  sD   \         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
                  ! V\        P                  ! VP                  ^4      4      '       g   Q h\        P                  ! R	R	.R	R
.R	R
.RR.RR.R
R	.R
R	.R	R	..4      pVP                  ^^^^^^^R7       \        P
                  ! V\        P                  ! VP                  ^4      4      '       g   Q h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=
ǿ)	re   rf   r   r)   r9   allcloseroundr   set_datarp   rq   r   Z	expected1Z	expected2r   r   test_fancyarrow_setdatar     s3   llnGCHHQ2rqQbHIEu~~~e}~e}e}u~	I ;;y"((5;;":;;;;u~u~u~t}t}u~u~u~	I 
NN
qRBaA1   ;;y"((5;;":;;;;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# )r{   i  r   )rd   colorequaliPF  i  NiiXi)re   rf   r
   rF   set_axis_off
set_aspectrg   rh   )rp   r   r   r   r   Zdiameterrq   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 )rd   r   Zzorderr3   ZlabelZgidi  r   )r   r  N)r   r   ))r\   r\   )r\   r{   r   )r{   r\   ))r   r{   )r{   r   )r   r\   )r\   r   )r   )r   rN   )r   r   )r   gMbP?gH.?)re   rf   zipZravelr)   r8   r   r
   Zrad2degZarctan2rF   rg   rh   ZaxhlineZaxvliner  r  )rp   Zax_arrZscaleZdiag_centersZon_axis_centersZskewsrq   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   ra   r   r  Nr   r_   r   )re   rf   r   rF   r  rp   rq   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  )	re   rf   r   rF   r  r7   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       VP                  R8X  g   Q hRVn	        RVn        VP                  R4       VP                  R4       VP                  R8X  g   Q hRVn	        ^-Vn
        R# )r6   r   r   r  r  rN   r  rP   r_   r  r  r  r  r   Nr5   r   r   )r   r   r  )re   rf   r   rF   r  r7   Zset_semimajorZset_semiminorr  r,   r3   r  r   r   test_annulus_setters2r  Q  s     llnGC
(C#
.C
(FCS5:CLLLLMM'CJcc99
"""CICJcc99
"""CICIr   c                  s    ^ ^ .p \        W .4      P                  p\        P                  ! \	        V .4      P                  4       P                  V8H  4      '       g   Q hR# r   )r   Zextentsr)   r   r   Zget_extents)r   Zcorrect_extentsr]   r   test_degenerate_polygonr  j  sM    FEE>*22O66'5'"..088OKLLLLr   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   rc   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                  sr    \        \        P                  ! R4      4      p V P                  4       . 8X  g   Q hR# )r   Nr   )r   r)   ZzerosrA   )Zpolyr   r   test_empty_vertsr  x  s*    288F#$D>>r!!!r   c                  s   \        4       p V P                  \        R ,          '       * 4       V P                  4       \        R ,          '       * 8X  g   Q hV P                  R4       V P                  4       \        R ,          8X  g   Q hR# )zpatch.antialiasedN)r   Zset_antialiasedr   Zget_antialiasedrr   r   r   test_default_antialiasedr   }  sk    GE	h':;;<  "84G+H'HIII	$  "h/B&CCCCr   c                  s    \        4       p V P                  R 4       V P                  R4       V P                  4       R8X  g   Q hR# )r   Nr   )r   Zset_linestylerW   r  r   r   test_default_linestyler!    s<    GE		 G+++r   c                  H    \        4       p V P                  4       R 8X  g   Q hR# )ZbuttN)r   Zget_capstyler  r   r   test_default_capstyler#    s     GE6)))r   c                  r"  )ZmiterN)r   Zget_joinstyler  r   r   test_default_joinstyler$    s     GE G+++r   Zautoscale_arcsvg)rD   r   ru   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
# )r{   )r  )r   r   r_         ?g      @      @g      @i6  i@  N)r   r{   r4   r   )re   rf   r
   r  rF   r   )rp   ZaxsZ	arc_listsrq   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PatchCollectionrf   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
   rf   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                  sb   \         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                  ! V\
        P                  ! VP                  4       ^4      4      '       g   Q h\
        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       \
        P                  ! V\
        P                  ! VP                  4       ^4      4      '       g   Q h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)re   rf   r   r   ZArrowr)   r9   r   r   rA   r   r   r   r   test_arrow_set_datar/    s)   llnGCKKaAr*E	r
	c
	b		b		S		b		b		b		I ;;y"((5??+<a"@AAAA




r


		I 
NNRA!3N/;;y"((5??+<a"@AAAAr   c                 sJ   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       VP                  ^ ,          P                  4       V8X  g   Q hVP                  ^ ,          P                  4       V8X  g   Q hR#   + '       g   i     L; i)r=   zhatch.linewidthr   )r   Nr4   )	rE   re   Z
rc_contextrF   rn   r   r   Zset_hatch_linewidthZget_hatch_linewidth)rG   rH   rI   rJ   rd   r,  r    test_set_and_get_hatch_linewidthr0    s    ""$G  "F	B	*B/	0	0++FAqDE 
1 h((ASABOOA**2.>>!002b888??1113r999 
1	0s   *DD"	c                  sh    \         P                  ! 4       w  rVP                  . . . . 4      pVf   Q hR # )N)re   rf   r   )rp   rq   r   r   r   test_empty_fancyarrowr1    s/    llnGCHHRR$Er   ))r  zUnknown style: 'foo')z	Round,fooz%Incorrect style argument: 'Round,foo')rR   rb   )rC   r%  pdfeps)rC   r2  r%  r3  )]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pyplotre   r   r   r   r   r   rn   r   ri   r   r(   r   r   r1   r;   rB   rM   rX   r^   rt   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/  r0  r1  r   r   r   <module>r4     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   