U
    e»{j  ã                   @   s  d dl Z d dlZd dlmZ er,d dlmZ d dlZd dl	m
Z d dlmZ d dlmZ dd„ Zejje dd	�d
d„ ƒZejje dd	�dd„ ƒZejje dd	�dd„ ƒZejje dd	�dd„ ƒZejje dd	�dd„ ƒZejje dd	�dd„ ƒZejje dd	�dd„ ƒZdS )é    N)ÚHAS_PLT)Úunits)ÚAngle)Úquantity_supportc                 C   s   t  d¡ d S )NÚall)ÚpltÚclose)Úfunction© r
   úe/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/visualization/tests/test_units.pyÚteardown_function   s    r   zrequires matplotlib.pyplot)Úreasonc               	   C   sä   t  ¡  tƒ �Ì t ¡ } t jdddgtj dddgtj dd� t  dd	d
gtj	 dddgtj
 ¡ t  ¡  t  ddgtj ddgtj ddgtj
 ¡ t j| dd� t  ¡ j ¡ tjks¾t‚t  ¡ j ¡ tjksÖt‚W 5 Q R X d S )Né   é   é   é   é   Úlabel)r   éi   éÒ   é;  éê  éÑ  éÂ  Úsvg)Úformat)r   Úfigurer   ÚioÚBytesIOÚplotÚuÚmÚkgÚcmÚgZlegendZfill_betweenZsavefigÚgcaÚxaxisÚ	get_unitsÚAssertionErrorÚyaxis)Zbuffr
   r
   r   Ú
test_units   s    ($,r*   c               	   C   sœ   t  d¡ t ¡  tƒ �z dddgtj } dddgtj }dddgtj }t 	¡ \}}|j
| ||d� |j ¡ tjkszt‚|j ¡ tjksŽt‚W 5 Q R X d S )NZ
matplotlibr   r   r   )Úyerr)ÚpytestZimportorskipr   r   r   r    Úsr!   r#   ÚsubplotsZerrorbarr&   r'   r(   r)   )ÚxÚyr+   ÚfigÚaxr
   r
   r   Útest_units_errbarr*   s    
r3   c               
   C   s�   zddl m}  W n tk
r*   tj}Y nX | }t ¡  tƒ �H t dddgtj	 ¡ t
 |¡� t dddgtj ¡ W 5 Q R X W 5 Q R X d S )	Nr   )ÚConversionErrorr   r   r   r   r   r   )Zmatplotlib.unitsr4   ÚImportErrorr    ZUnitConversionErrorr   r   r   r   r!   r,   Zraisesr"   )r4   Zerr_typer
   r
   r   Útest_incompatible_units;   s    r6   c                	   C   s¾   t  ¡  tƒ �¦ t  tdddgtjƒdddgtj ¡ t  dddgtj d	d
dgtj	 ¡ t  
tdddgtjƒd	d
dgtj	 ¡ t  ¡ j ¡ tjks˜t‚t  ¡ j ¡ tjks°t‚W 5 Q R X dS )zÁCheck that subclasses are recognized.

    This sadly is not done by matplotlib.units itself, though
    there is a PR to change it:
    https://github.com/matplotlib/matplotlib/pull/13536
    r   r   r   r   r   r   r   r   r   r   r   N)r   r   r   Úscatterr   r    Údegr"   Úarcsecr$   r   r%   r&   r'   r(   r)   r
   r
   r
   r   Útest_quantity_subclassN   s    &$&r:   c               
   C   sð   t ƒ �à t ƒ �j t ¡ } |  ddd¡}| tdddgtjƒdddgtj ¡ |j	 
¡ tjks`t‚|j 
¡ tjkstt‚W 5 Q R X t ¡ } |  ddd¡}| tdddgtjƒdddgtj ¡ |j	 
¡ tjksÎt‚|j 
¡ tjksât‚W 5 Q R X d S )Nr   r   r   r   r   )r   r   r   Úadd_subplotr7   r   r    r8   r"   r&   r'   r(   r)   r9   Zpc©r1   r2   r
   r
   r   Útest_nesteda   s    &&r=   c               	   C   s\   t ƒ �L t ¡ } |  ddd¡}|jddddgtj dd� |jg tj dd� W 5 Q R X d S )Nr   r   r   r   éd   )Zbins)r   r   r   r;   Úhistr    Zmmagr<   r
   r
   r   Útest_empty_histt   s
    r@   c               	   C   s~   t ƒ �n t ¡ \} }| dddgdddgtj tj ¡ | j 	¡  dd„ |j
 ¡ D ƒ}|dddd	d
ddgkspt‚W 5 Q R X d S )Nr   r   r   c                 S   s   g | ]}|  ¡ ‘qS r
   )Zget_text)Ú.0Útlr
   r
   r   Ú
<listcomp>…   s     z)test_radian_formatter.<locals>.<listcomp>u   Ï€/2u   Ï€u   3Ï€/2u   2Ï€u   5Ï€/2u   3Ï€u   7Ï€/2)r   r   r.   r   r    ZradÚnpÚpiZcanvasZdrawr)   Zget_ticklabelsr(   )r1   r2   Úlabelsr
   r
   r   Útest_radian_formatter   s    $
rG   )r   r,   Z"astropy.utils.compat.optional_depsr   Zmatplotlib.pyplotZpyplotr   ÚnumpyrD   Zastropyr   r    Zastropy.coordinatesr   Zastropy.visualization.unitsr   r   ÚmarkZskipifr*   r3   r6   r:   r=   r@   rG   r
   r
   r
   r   Ú<module>   s.   






