U
    	-e                     @   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 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)PREFIXESPrefixprefix_unitkilokibi)SIxc                  C   s  t d } t d }t d }tddddd}| | dks8t|| |ksHtd|  |ksXt||  |ksht|| d	ksxtd| tjd kst|| td
d kst|| dksttd} t| tj t| tj ||  d|  kst||  d|  kstt	d }t
|tst|jdt	fks0tt	t }t
|tsHt|jtt	fks\tt	d }t
|tstt|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      )base   i  
fake_meter   )r
   r   AssertionErrorr   ZOner   r   set_quantity_dimensionset_quantity_scale_factorr   
isinstancer   argsr   r   )r   r   r   r   expr1Zexpr2Zexpr3Zexpr4 r"   h/var/www/html/Darija-Ai-Train/env/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>K   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_unit7   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_basesN   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_reprS   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	   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   *