U
    ZÊ¹j¾  ã                   @   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sŽt‚d| tjd ks¤t‚|| td	ƒd ks¼t‚|| tjksÎt‚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ƒ�sŽt‚|jtddƒt
fk�s¨t‚|jtjd t
fk�sÂt‚t
t }t|tƒ�sÚt‚|jdt t
fk�sòt‚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"   úf/var/www/html/bwave/python/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s¸t
‚dd„ |D ƒt	tdƒƒksÖt
‚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   +