
    h&                     *   S SK r S SKrS SKrS SKJrJrJrJrJ	r	  Sr
\ R                  " \
R                  \ R                  " \R                  5      \ R                  " \R                  5      \ R                  " \R                   5      S9\ R"                  5      r\ R                  " \
R                  \ R                  " \R                  5      \ R                  " \R                  5      \ R                  " \R                   5      S9\ R"                  5      rSLS jr\R*                  R-                  SSSS	0\R.                  " S
SS5      S4SSS0\R.                  " SSS5      S4/5      S 5       r\R*                  R-                  SS0 \R.                  " S
SS5      S4S0 \R.                  " SSS5      S4/5      S 5       r\R*                  R-                  S\" SS5      \" SS5      S40 \R.                  " SSS 5      S4\" S!SS"9\" S!SS"9S40 \R.                  " S#S$S5      S%4\" SS5      \" SS&5      S40 \R.                  " S'S(S5      S4S)0 \R.                  " SS*S5      S4\" SS5      \" SS5      S40 \R.                  " SSS 5      S4\" S!SS"9\" S!SS"9S40 \R.                  " S#S$S5      S%4\" S!SS"9\" S!S+S"9S40 \R.                  " S,S-S5      S.4\" S!S/S"9\" S!S&S"9S4S0S10\R.                  " S2S35      S44\" S!S/S"9\" S!S&S"9S4S0S50\R.                  " S6S7S5      S84/	5      S9 5       r\R*                  R-                  S:\\4\\4/S;S</S=9\R*                  R-                  S>S?S1/ S@Q4S?SA/ SBQ4S?SC/ S@Q4S?SD/ SEQ4S?SF/ SGQ4S?S/ SHQ4S?SI/ SJQ4/5      SK 5       5       rg)M    N)FormatterDMSFormatterHMSselect_stepselect_step24select_step360a'  \$  # Mathtext
        (
            # The sign sometimes appears on a 0 when a fraction is shown.
            # Check later that there's only one.
            (?P<degree_sign>-)?
            (?P<degree>[0-9.]+)  # Degrees value
            {degree}  # Degree symbol (to be replaced by format.)
        )?
        (
            (?(degree)\\,)  # Separator if degrees are also visible.
            (?P<minute_sign>-)?
            (?P<minute>[0-9.]+)  # Minutes value
            {minute}  # Minute symbol (to be replaced by format.)
        )?
        (
            (?(minute)\\,)  # Separator if minutes are also visible.
            (?P<second_sign>-)?
            (?P<second>[0-9.]+)  # Seconds value
            {second}  # Second symbol (to be replaced by format.)
        )?
        \$  # Mathtext
    degreeminutesecondc                     XS-  -   US-  -   $ )N      N@      @ )degreesminutessecondss      a/var/www/html/env/lib/python3.13/site-packages/mpl_toolkits/axisartist/tests/test_angle_helper.py	dms2floatr   ,   s    t^#g&666    z.args, kwargs, expected_levels, expected_factor)L   
   hourFr         g      ?)   r   Tr         c                     [        U 0 UD6u  pEnU[        U5      :X  d   e[        R                  R	                  XB5        Xc:X  d   eg N)r   lennptestingassert_array_equalargskwargsexpected_levelsexpected_factorlevelsnfactors          r   test_select_stepr.   0   sH    
 $T4V4FvFJJ!!&:$$$r   ii     r   c                     [        U 0 UD6u  pEnU[        U5      :X  d   e[        R                  R	                  XB5        Xc:X  d   eg r!   )r   r"   r#   r$   r%   r&   s          r   test_select_step24r1   <   sH    
 &t6v6FvFJJ!!&:$$$r      3333335@   fffff@@   i  i     g     4@)r   i\  ik  r   gfffffJ@i  i  )r3   r5   r6   #   gffffff5@hp i}p g     Agffffff&@threshold_factor<   0  i0  g     @   iP  i%P  g     @@c                     [        U 0 UD6u  pEnU[        U5      :X  d   e[        R                  R	                  XB5        Xc:X  d   eg r!   )r   r"   r#   r$   r%   r&   s          r   test_select_step360r?   H   sH    , '77FvFJJ!!&:$$$r   zFormatter, regexzDegree/Minute/SecondzHour/Minute/Second)idszdirection, factor, valuesleft)r   iiiX  )r<   i0  i0  i  i  )iC iC iC i@~ )r9   imp irp )-   .   /   g      $@)i  i  i  c                   ^ U " 5       nU" X#U5      nS =n=p[        Xd5       GH=  u  pUR                  U
5      mTc   U
< S35       e[        U4S jS 5       5      nUS::  d   SU
< S35       eUS:X  a  SOSn[        TR	                  S	5      =(       d    U=(       d    S5      n[        TR	                  S
5      =(       d    U=(       d    S5      n[        TR	                  S5      =(       d    U	=(       d    S5      nU [
        :X  a  [        R                  " US-  U-  5      nO[        R                  " X-  5      nU[        XU5      -  U:X  d   U
< S35       eUnUnUn	GM@     g )Nz  is not an expected tick format.c              3   P   >#    U  H  nTR                  US -   5      SLv   M     g7f)_signN)group).0signms     r   	<genexpr>"test_formatters.<locals>.<genexpr>{   s*      ?=t 774'>*$6=s   #&r   r=   zOnly one element of tick z may have a sign.r   r	   r
   r   r7   z$ does not match expected tick value.)	zipmatchsumfloatrH   r   pytestapproxr   )	Formatterregex	directionr-   valuesfmtresultprev_degreeprev_minuteprev_secondtickvaluerJ   r	   r
   r   expected_valuerK   s                    @r   test_formattersra   e   s^    +CF+F.22K2+6*KK}I(HII} ?=? ?qyO5dX=NOOyAIq2qwwx(<K<1=qwwx(<K<1=qwwx(<K<1=$#]]ERK6+ABN#]]5>:Ni77>I 	<h:;	<I - +r   )r   r   )renumpyr#   rS   $mpl_toolkits.axisartist.angle_helperr   r   r   r   r   _MS_REcompileformatescapedeg_markmin_marksec_markVERBOSEDMS_REHMS_REr   markparametrizearanger.   r1   r?   ra   r   r   r   <module>rr      s;   	  L L
 0 
FMM<3H3H)I)+<3H3H)I)+<3H3H)I " K JJ
  
FMM<3H3H)I)+<3H3H)I)+<3H3H)I " K JJ
 7 IvuoryysB'?EVTNBIIc2q$93?L %	% Ib"))D#r2C8B		$S148L %	% ID9R.2BYYtT2&d#YtT%BAFYYueQ)D9R.2BYYtT1t%bYYr2q3 D9R.2BYYtT2&d#YtT%BAFYYueQ)d#YtT%BAFYYw#X/ d#YtT%BAF"ryy6?d#YtT%BAF!biiua8&B%L *%+*% +'0'0246JK  M 4RS'(T=!U,-V01RS/"7 	Mr   