U
    e»{j÷  ã                   @   sl   d dl Z d dlZd dlmZ d dlmZ dd„ Zdd„ Zdd	„ Z	d
d„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )é    N)ÚConstant)ÚQuantityc                  C   sj   ddl m}  | jdkst‚| jjdks*t‚| jjdks:t‚| jdksHt‚| jsRt‚| js\t‚| j	sft‚d S )Nr   ©Úcg   JxÞ±Ag   ó›ëB)
Úastropy.constantsr   ÚvalueÚAssertionErrorÚsiÚcgsÚuncertaintyÚnameÚ	referenceÚunitr   © r   úd/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/constants/tests/test_constant.pyÚtest_c   s    

r   c                  C   s‚   ddl m}  t| jd ƒdk s"t‚t| jjd ƒdk s:t‚t| jjd ƒdk sRt‚| jdks`t‚| jsjt‚| j	stt‚| j
s~t‚d S )Nr   ©Úhg_DÅø…9gäxª�û88g‘à÷¹g€:g€h‰eÖ9€9)r   r   Úabsr   r   r	   r
   r   r   r   r   r   r   r   r   Útest_h   s    

r   c                      sè   ddl m‰ tddƒ‰ t t‡ ‡fdd„¡ t t‡ ‡fdd„¡ t t‡ ‡fdd„¡ tˆjtƒsht‚tˆj	tƒsxt‚tˆj
tƒsˆt‚ˆjˆ  tdd	ƒks t‚ˆj	ˆ  tˆj	jˆ j d
ƒksÂt‚ˆj
ˆ  tˆj
jˆ j d
ƒksät‚dS )z<Tests for #572 demonstrating how EM constants should behave.r   )Úeéd   zV/mc                      s   ˆˆ  S ©Nr   r   ©ÚEr   r   r   Ú<lambda>3   ó    ztest_e.<locals>.<lambda>c                      s   ˆˆ  S r   r   r   r   r   r   r   7   r   c                      s
   ˆj ˆ  S r   )r
   r   r   r   r   r   :   r   zeV/mzFr V/mN)r   r   ÚQÚpytestZraisesÚ	TypeErrorÚ
isinstancer	   r   ÚgaussZesur   r   r   r   r   Útest_e*   s    
"r"   c                  C   sz   ddl m}  | jdkst‚| jjdks*t‚| jjdks:t‚| jdksHt‚| jsRt‚| js\t‚| j	sft‚| j	j
dksvt‚dS )z<Tests for #1263 demonstrating how g0 constant should behave.r   ©Úg0g£’:�#@g¸…ëQ¥Ž@ZaccelerationN)r   r$   r   r   r	   r
   r   r   r   r   Zphysical_typer#   r   r   r   Útest_g0E   s    


r%   c                  C   sH   ddl m}  ddlm} d| j }||  | j¡}t|jƒdksDt	‚dS )zwb_wien should give the correct peak wavelength for
    given blackbody temperature. The Sun is used in this test.

    r   ©Úunits)Úb_wieni’  iö  N)
Úastropyr'   r   r(   ÚKÚtoÚnmÚroundr   r   )Úur(   ÚtÚwr   r   r   Útest_b_wienX   s
    
r1   c                  C   sN   ddl m}  ddl m} t| ƒ ¡ D ]$\}}t|tƒr$t|j|jƒr$t	‚q$d S )Nr   ©Ú	constantsr&   )
r)   r3   r'   ÚvarsÚitemsr    r   r   ZUnrecognizedUnitr   )Úconstr.   ÚkeyÚvalr   r   r   Ú	test_unite   s
    
r9   c                  C   sD   ddl m}  t | j¡}|| jks&t‚t | j¡}|| jks@t‚d S )Nr   r2   )r)   r3   ÚcopyÚdeepcopyr   r   )r6   Úccr   r   r   Ú	test_copyq   s
    r=   c                  C   sˆ  ddl m}  |  t¡}|| ks"t‚|j| jks2t‚|jdks@t‚|j| jksPt‚|j| jks`t‚|j	| j	kspt‚|  t
¡}|| ks†t‚|j| jks–t‚t|ƒt
ks¦t‚t|dƒr´t‚t
| ƒ}|| ksÈt‚|j| jksØt‚t|ƒt
ksèt‚t|dƒröt‚t
| dd�}|| k�st‚|j| jk�s"t‚|jdk�s2t‚|j| jk�sDt‚|j| jk�sVt‚|j	| j	k�sht‚t
| ddd�}|| k�s„t‚dS )	zCCheck that Constant and Quantity views can be taken (#3537, #3538).r   r   r   T)ÚsubokF)r>   r:   N)r   r   Úviewr   r   r   r   r   r   r   r   ÚtypeÚhasattr)r   Úc2Úq1Úq2Úc3Zc4r   r   r   Ú	test_view{   s6    

rF   )r:   r   r   r   Zastropy.unitsr   r   r   r   r"   r%   r1   r9   r=   rF   r   r   r   r   Ú<module>   s   
