U
    L?h                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZmZ d dlmZmZmZmZmZ d dlmZ edZd	d
 Zdd Zdd Zdd ZdS )    )Mul)Rational)S)Symbolsymbols)QuantitylengthmeterW)PREFIXESPrefixprefix_unitkilokibi)SIxc                  C   s  t d } t d }t d }tddddd}| | tjks:t| t td	 ksNt|| |ks^td|  |ksnt||  |ks~t|| d
kstd| tjd kst|| td	d kst|| tjksttd} t| tj t	| tj ||  d|  kst||  d|  kstt
d }t|ts6t|jdt
fksJtt
t }t|tsbt|jtt
fksvtt
d }t|tst|jtddt
fkst|jtjd t
fkstt
t }t|tst|jdt t
fkstd S )NmkMdodecadd      )basei     
fake_meter   )r   r   r   ZOneAssertionErrorr
   r   r   set_quantity_dimensionset_quantity_scale_factorr   
isinstancer   argsr   r   )r   r   r   r   Zexpr1Zexpr2Zexpr3Zexpr4 r"   Y/var/www/html/venv/lib/python3.8/site-packages/sympy/physics/units/tests/test_prefixes.pytest_prefix_operations   s>    r$   c                  C   s   t ddd} | dt td td td d}t dd	d}t d
dd}t ddd}t|t t|td  t|td  t|td  |||g}t| |}t	|t	|kst
dd |D t	tdkst
d S )Nr   r   Zabbrevr   cd)r   r&   r'   Zmillifake_metermmZcentifake_metercmZdecifake_meterdmc                 S   s   h | ]
}|j qS r"   r%   ).0vr"   r"   r#   	<setcomp>L   s     z#test_prefix_unit.<locals>.<setcomp>zmm,cm,dm)r   Z set_global_relative_scale_factorr	   r   r   r   r   r   r   setr   r   )r   Zprefq1q2Zq3resZprefsr"   r"   r#   test_prefix_unit8   s    

r2   c                   C   s    t jdksttjdkstd S )N
      )r   r   r   r   r"   r"   r"   r#   
test_basesO   s    r5   c                   C   s,   t tttkstt tttks(td S )N)evalreprr   r   r   r"   r"   r"   r#   	test_reprT   s    r8   N)Zsympy.core.mulr   Zsympy.core.numbersr   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Zsympy.physics.unitsr   r   r	   r
   Zsympy.physics.units.prefixesr   r   r   r   r   Zsympy.physics.units.systemsr   r   r$   r2   r5   r8   r"   r"   r"   r#   <module>   s   +