
     i&                     X   d dl Z d dlZd dlZd dlmZmZmZmZm	Z	 dZ
 e j        e
                     e j        ej                   e j        ej                   e j        ej                            e j                  Z e j        e
                     e j        ej                   e j        ej                   e j        ej                            e j                  ZdLdZej                            dddd	i ej        d
dd          dfdddi ej        ddd          dfg          d             Zej                            ddi  ej        d
dd          dfdi  ej        ddd          dfg          d             Zej                            d edd           edd          dfi  ej        ddd           df ed!d"           ed!d"          dfi  ej        d#d$d          d%f edd           edd&          dfi  ej        d'd(d          dfd)i  ej        dd*d          df edd           edd          dfi  ej        ddd           df ed!d"           ed!d"          dfi  ej        d#d$d          d%f ed!d"           ed!d+"          dfi  ej        d,d-d          d.f ed!d/"           ed!d&"          dfd0d1i ej        d2d3          d4f ed!d/"           ed!d&"          dfd0d5i ej        d6d7d          d8fg	          d9             Zej                            d:eefeefgd;d<g=          ej                            d>d?d1g d@fd?dAg dBfd?dCg d@fd?dDg dEfd?dFg dGfd?dg dHfd?dIg dJfg          dK                         ZdS )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                     | |dz  z   |dz  z   S )N      N@      @ )degreesminutessecondss      y/srv/www/vhosts/g4struct/public_html/venv/lib/python3.11/site-packages/mpl_toolkits/axisartist/tests/test_angle_helper.py	dms2floatr   ,   s    Wt^#g&666    z.args, kwargs, expected_levels, expected_factor)L   
   hourFr         g      ?)   r   Tr         c                     t          | i |\  }}}|t          |          k    sJ t          j                            ||           ||k    sJ d S N)r   lennptestingassert_array_equalargskwargsexpected_levelsexpected_factorlevelsnfactors          r   test_select_stepr.   0   sc    
 $T4V44FAvFJ!!&/:::_$$$$$$r   ii     r   c                     t          | i |\  }}}|t          |          k    sJ t          j                            ||           ||k    sJ d S r!   )r   r"   r#   r$   r%   r&   s          r   test_select_step24r1   <   sc    
 &t6v66FAvFJ!!&/:::_$$$$$$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                     t          | i |\  }}}|t          |          k    sJ t          j                            ||           ||k    sJ d S r!   )r   r"   r#   r$   r%   r&   s          r   test_select_step360r?   H   sc    , '777FAvFJ!!&/:::_$$$$$$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                     |             } ||||          }d x}x}}	t          ||          D ]=\  }
}|                    |
          J |
d            t          fddD                       }|dk    sJ d|
d            |dk    rdnd}t                              d	          p|pd          }t                              d
          p|pd          }t                              d          p|	pd          }| t
          k    rt          j        |dz  |z            }nt          j        ||z            }|t          |||          z  |k    sJ |
d            |}|}|}	?d S )Nz  is not an expected tick format.c              3   L   K   | ]}                     |d z             duV  dS )_signN)group).0signms     r   	<genexpr>z"test_formatters.<locals>.<genexpr>{   sL       ? ? 774'>**$6 ? ? ? ? ? ?r   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_formattersr`   e   s    )++CSFF++F.22K2+66**  eKK}}III}}} ? ? ? ?=? ? ? ? ?qyyyOdOOOyyyAIIqq2qwwx((<K<1==qwwx((<K<1==qwwx((<K<1==$$#]ERK6+ABBNN#]56>::Ni777>III;;; JII - r   )r   r   )renumpyr#   rR   $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?   r`   r   r   r   <module>rq      s   				     L L L L L L L L L L L L L L
 0 
FMM<3H)I)I)2<3H)I)I)2<3H)I)I " K K J
  
  
FMM<3H)I)I)2<3H)I)I)2<3H)I)I " K K J
  
 7 7 7 7 IvuoyrysB'?'?EVTNIBIc2q$9$93?L  % %	 % Ib)")D#r22C8B		$S1148L  % %	 % IiD99R..2BRYtT2&id###YYtT%B%B%BAFRYueQ)iD99R..2BRYtT1t%bRYr2q3 iD99R..2BRYtT2&id###YYtT%B%B%BAFRYueQ)id###YYtT%B%B%BAFRYw##X/ id###YYtT%B%B%BAF"yry66?id###YYtT%B%B%BAF!ibiua88&B%L  *% %+ *% +'0'0246JK  M M 4RS'''(T===!U,,,-V0001RS///"7    	M M  r   