
    \h                         S SK JrJrJrJr  S SKJr  S SKJr  S SK	J
r
JrJrJr  S SKJrJr  S SKJr  S SKJr  S SKJr  S	 rS
 rS rS rS rS rS rS rg)    )DimensionSystemjoulesecondampere)Rational)S)ckgms)lengthtime)Quantity)
UnitSystem)
convert_toc                     [        S5      n [        [        4n[        U[        U 4SS5      nUR                  U [        5        UR                  U [        SS5      5        [        UR                  5      [        U5      :X  d   e[        UR                  5      [        [        [        U 1:X  d   eUR                  S:X  d   eUR                  S:X  d   eg )NdmMSz	MS system   
   )r   r   r   r   r	   set_quantity_dimensionr   set_quantity_scale_factorr   set_base_units_unitsnamedescr)r   basemss      a/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/units/tests/test_unitsystem.pytest_definitionr!      s    	$Bq6D	D1b'4	5Bb&)  Xa_5r~~#d)+++ryy>aAr]***77d??88{"""    c                      [        [        [        [        4SS95      S:X  d   e[        [        [        [        45      5      S:X  d   e[	        [        [        [        45      5      S[        < S[        < S3:X  d   eg )Nr   )r   zUnitSystem((meter, second))z<UnitSystem: (z, z)>)strr   r   r   repr r"   r    test_str_reprr'      s^    z1a&t,-555z1a&!"&CCCC
Aq6"#1a'HHHHr"   c                  t   [        S5      n U R                  [        R                  [        5        [        S5      nUR                  [        R                  [
        [        -  5        [        [        [        [        U 4U45      n[        XR                  5      [        S-  [        -  [        S-  -  S-  :X  d   eg )NAJs   i  )r    set_global_relative_scale_factorr   Oner   r   r   r   r   r
   r   r   r   )r)   r*   mksas      r    test_convert_tor0   #   s    A&&quuf5	$B''uV|<q"ambU+Db**+q!tBwq"u}T/AAAAr"   c                     [        [        [        4[        45      n [	        S5      nUR                  S[        [        -  5        U R                  [        4U45      n[        [        [        [        4[        U45      n[        UR                  5      [        UR                  5      :X  d   e[        UR                  5      [        UR                  5      :X  d   eg )Nr*   r   )r   r   r   r	   r   r-   r   r   extendr
   r   r   r   )r   r*   mksress       r    test_extendr5   .   s    	QFQD	!B	$B''5<8
))REB5
!C
aBZ!R
)Cs3s#7777szz?c#**o---r"   c                  h    [        [        [        [        4[        45      n U R
                  S:X  d   eg )N   )r   r   r
   r   r	   dim)dimsyss    r    test_dimr:   9   s&    B
QD)F::??r"   c                  z    [        [        [        /5      n [        [        [
        /U S9nUR                  S:X  d   eg )N)dimension_systemT)r   r   r   r   r   r   is_consistent)r<   uss     r    test_is_consistentr?   >   s6    &~6	QF-=	>Bt###r"   c                     SSK Jn Jn  [        R                  " S5      nUR                  5       nS H  nU H  n[        U[        5      (       d   U S[        U5       35       eUR                  (       a
   U S35       eUR                  (       a
   U S35       eUR                  R                  R                  U5      (       d  M   SUR                   S	U 35       e   M     X;   d   eX;   d   eg )
Nr   )voltohmSI)gigaterapetaexazettayottakilohectodecadecicentimillimicronanopicofemtoattozeptoyoctoz must be a Quantity, not z is marked as prefixedz is marked as physics constantUnit z has prefix )sympy.physics.unitsrA   rB   r   get_unit_systemget_units_non_prefixed
isinstancer   typeis_prefixedis_physical_constantr   
startswith)rA   rB   unit_systemunitsprefixunits         r    test_get_units_non_prefixedrd   D   s    -,,T2K..0E sDdH--]$7PQUVZQ[P\/]]-''HD61G)HH'00YTF:X2YY0yy~~0088aE$))LY_X`:aa8	  s ==<<r"   c                     [         R                  R                  5        H^  n U R                  R                  5        H=  nUR	                  [
        5      nU H  nX0R                  ;   a  M   SU SU  35       e   M?     M`     g )NrW   z is not in unit system )r   _unit_systemsvaluesderived_unitsatomsr   r   )r`   preferred_unitra   rc   s       r    ,test_derived_units_must_exist_in_unit_systemrk   Q   sv    !//668)77>>@N"((2E111eU4&@WXcWd3ee1  A 9r"   N)rX   r   r   r   r   sympy.core.numbersr   sympy.core.singletonr   sympy.physics.units.definitionsr	   r
   r   r   5sympy.physics.units.definitions.dimension_definitionsr   r   sympy.physics.units.quantitiesr   sympy.physics.units.unitsystemr   sympy.physics.units.utilr   r!   r'   r0   r5   r:   r?   rd   rk   r&   r"   r    <module>rs      sN    F F ' " 7 7 N 3 5 /# IB.
$fr"   