ó
~9­\c           @   s±   d  d l  m Z d  d l m Z m Z m Z d  d l m Z m Z m	 Z	 m
 Z
 d  d l m Z d  d l  m Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d S(   iÿÿÿÿ(   t   warns_deprecated_sympy(   t   St   Symbolt   sqrt(   t	   Dimensiont   lengtht   timet   dimsys_default(   t   foot(   t   raisesc       	   C   sî   t  ƒ  $ t j ƒ  i d d 6k s) t ‚ Wd  QXt j t ƒ i d d 6k sQ t ‚ t j t d ƒ k sl t ‚ t j t d ƒ k s‡ t ‚ t t ƒ }  t  ƒ  ' |  j ƒ  i t	 j
 d 6k s¿ t ‚ Wd  QXt j |  ƒ i t	 j
 d 6k sê t ‚ d  S(   Ni   R   t   L(   R    R   t   get_dimensional_dependenciest   AssertionErrorR   t   nameR   t   symbolR   R   t   Half(   t
   halflength(    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   test_Dimension_definition
   s    
%"
(c           C   sT   t  t d „  ƒ t  t d „  ƒ t  t d „  ƒ t  t d „  ƒ t  t d „  ƒ d  S(   Nc           S   s
   t  d ƒ S(   NR   i   i   (   R   i   i   (   R   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   <lambda>   t    c           S   s   t  d g ƒ S(   NR   (   R   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyR      R   c           S   s   t  i d d 6ƒ S(   Nt   aR   (   R   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyR      R   c           S   s   t  i d d 6ƒ S(   Ni   i   R   (   i   i   (   R   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyR       R   c           S   s   t  d d d ƒS(   NR   R   i   (   R   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyR   #   R   (   R	   t	   TypeErrorR   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   test_Dimension_error_definition   s
    c        	      sV   t  ƒ   t t d „  ƒ Wd  QXt  ƒ  ' t d ƒ ‰  t t ‡  f d †  ƒ Wd  QXd  S(   Nc           S   s
   t  j ƒ  S(   N(   R   t   _register_as_base_dim(    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyR   )   R   i   c              s
   ˆ  j  ƒ  S(   N(   R   (    (   t   one(    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyR   -   R   (   R    R	   t
   IndexErrorR   R   (    (    (   R   sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt    test_Dimension_error_regisration&   s
    

c           C   sC   t  t d ƒ ƒ d k s t ‚ t  t d d ƒ ƒ d k s? t ‚ d  S(   NR   s   Dimension(length)R
   s   Dimension(length, L)(   t   strR   R   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   test_str0   s    c           C   s¸   t  j t ƒ t k s t ‚ t  j t t ƒ t k s: t ‚ t  j t d ƒ ƒ t k s[ t ‚ t j t  ƒ t k sv t ‚ t d j t  ƒ t k s• t ‚ t d j t  ƒ t k s´ t ‚ d  S(   Nt	   undefinediÿÿÿÿg      ø?(   R   t   is_dimensionlessR   t   FalseR   t   TrueR   t   has_integer_powers(    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   test_Dimension_properties5   s    !c          C   si  t  t  t  k s t ‚ t  t  t  k s, t ‚ t  t  k s? t ‚ t  t t t  k o^ t  k n si t ‚ t  t t t  k oˆ t  k n s“ t ‚ t  t t  t k o² t  k n s½ t ‚ t d ƒ }  t  |  } | |  t  k r| j rt | j ƒ t  |  h k st ‚ t  d } | d t  k o6d t  k n r_| j r_t | j ƒ t  d h k set ‚ d  S(   Nt   xi   (   R   R   R   R   R   t   is_Addt   sett   args(   R#   t   e(    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   test_Dimension_add_sub?   s    ***
:
c          C   sF  d t  t  d k o. t  d k o. t  k n s9 t ‚ d t  d t  k sS t ‚ t d ƒ }  |  t  } | t  |  k r | j r t | j ƒ |  t  h k s£ t ‚ |  t  } | |  t  d k ré | j ré t | j ƒ |  d t  h k sï t ‚ t  |  } | t  |  d k r5| j r5t | j ƒ d |  t  h k s;t ‚ t  t } t  t  t  d k s_t ‚ t j t  t  ƒ i d d 6k s…t ‚ t j t  d ƒ i d d 6k s«t ‚ t j t  t ƒ i d d 6d d 6k sØt ‚ t j | ƒ i d d 6d d 6k st ‚ t j | d ƒ i d d 6d d 6k s.t ‚ t j t  t  ƒ i  k sMt ‚ t j | t  t ƒ i  k spt ‚ t j t  d ƒ i d d 6k s–t ‚ t j | d ƒ i d d 6d	 d 6k sÃt ‚ t  d
 } t j | ƒ i t d
 ƒ d 6k sõt ‚ t  d k st ‚ t  t  d k st ‚ t  d } t j | ƒ i  k sBt ‚ d  S(   Ni   i   R#   iÿÿÿÿR   R   iþÿÿÿg      ø¿g      ø?R   i    (	   R   R   R   t   is_MulR%   R&   R   R   R   (   R#   t   mt   dt   velot   length_at   length_0(    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   test_Dimension_mul_div_expQ   s4    9
:
B
B
&&-)-#&-
(
N(   t   sympy.utilities.pytestR    t   sympyR   R   R   t   sympy.physics.units.dimensionsR   R   R   R   t   sympy.physics.unitsR   R	   R   R   R   R   R"   R(   R/   (    (    (    sH   lib/python2.7/site-packages/sympy/physics/units/tests/test_dimensions.pyt   <module>   s   "			
		
	