U
    e»{j¯  ã                   @   sæ   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d dlmZ d	d
„ Zdd„ Zdd„ Zdd„ Zej d¡dd„ ƒZG dd„ dejƒZdd„ Zdd„ Zdd„ Z dd„ Z!dS )é    N)Úassert_array_almost_equal)Úwcs)Úfits)Úget_pkg_data_contentsÚget_pkg_data_filenameÚget_pkg_data_fileobj)ÚAstropyDeprecationWarning)ÚNumpyRNGContext)ÚFITSFixedWarningc                  C   s    t  ¡ } t | ¡}t |¡ d S )N)r   ÚWCSÚpickleÚdumpsÚloads)Úwcs1Ús© r   ú\/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/wcs/tests/test_pickle.pyÚ
test_basic   s    
r   c               
   C   sÂ   t tj dd¡dd��¢} t | ¡}t t¡� t	 
|d j|¡}W 5 Q R X |jd k	sXt‚t |¡}t |¡}tdƒ�0 tj d|j	j¡}| |d¡}| |d¡}W 5 Q R X t||ƒ W 5 Q R X d S )	NÚdataz	dist.fitsÚbinary©Úencodingr   éÍ[é   é   )r   ÚosÚpathÚjoinr   ÚopenÚpytestÚwarnsr   r   r   ÚheaderZdet2im2ÚAssertionErrorr   r   r   r	   ÚnpÚrandomÚrandÚnaxisÚall_pix2worldr   ©Z	test_fileZhdulistr   r   Úwcs2ÚxÚworld1Úworld2r   r   r   Ú	test_dist   s      ÿ



r-   c               
   C   sÄ   t tj dd¡dd��¤} tj| dd�}t t¡� t	 
|d j¡}W 5 Q R X |jd k	sZt‚t |¡}t |¡}tdƒ�0 tj d	|j	j¡}| |d
¡}| |d
¡}W 5 Q R X t||ƒ W 5 Q R X d S )Nr   zsip.fitsr   r   T©Zignore_missing_endr   r   r   r   ©r   r   r   r   r   r   r   r    r
   r   r   r!   Úsipr"   r   r   r   r	   r#   r$   r%   r&   r'   r   r(   r   r   r   Útest_sip1   s      ÿ


r1   c               
   C   sÄ   t tj dd¡dd��¤} tj| dd�}t t¡� t	 
|d j¡}W 5 Q R X |jd k	sZt‚t |¡}t |¡}tdƒ�0 tj d	|j	j¡}| |d
¡}| |d
¡}W 5 Q R X t||ƒ W 5 Q R X d S )Nr   z	sip2.fitsr   r   Tr.   r   r   r   r   r/   r(   r   r   r   Ú	test_sip2D   s      ÿ


r2   zignore:PV2_2c               	   C   s€   t tj dd¡dd�} t | ¡}t |¡}t |¡}t	dƒ�0 t
j d|jj¡}| |d¡}| |d¡}W 5 Q R X t||ƒ d S )Nr   zoutside_sky.hdrr   r   r   r   r   )r   r   r   r   r   r   r   r   r   r	   r#   r$   r%   r&   r'   r   )r!   r   r   r)   r*   r+   r,   r   r   r   Útest_wcsX   s     ÿ



r3   c                       s   e Zd Z‡ fdd„Z‡  ZS )ÚSubc                    s   t ƒ j||Ž d| _d S )Né*   )ÚsuperÚ__init__Úfoo)ÚselfÚargsÚkwargs©Ú	__class__r   r   r7   k   s    zSub.__init__)Ú__name__Ú
__module__Ú__qualname__r7   Ú__classcell__r   r   r<   r   r4   j   s   r4   c                  C   s\   t ƒ } d| _t | ¡}t |¡}t|t ƒs.t‚| jdks<t‚|jdksJt‚|jd k	sXt‚d S )Né-   )r4   r8   r   r   r   Ú
isinstancer"   r   )r   r   r)   r   r   r   Útest_subclassp   s    

rD   c                  C   sŽ   t jdd�} dddg| _d| _d| _t t | ¡¡}| j|jksDt	‚| j|jksTt	‚| j|jksdt	‚| j
 ¡ D ]\}}t||ƒ|ksnt	‚qnd S )Né   )r&   éd   éÈ   i,  ))é   é   )é!   rB   )é7   éC   éo   )r   r   Zpixel_shapeZpixel_boundsÚextrar   r   r   r&   r"   Ú__dict__ÚitemsÚgetattr)ÚwÚw2ÚkÚvr   r   r   Útest_axes_info|   s    rV   c               	   C   sú   t dƒ} tj | ¡}t tj¡� tj|ddgddgd�}W 5 Q R X t tj¡� t	 
t	 |¡¡}W 5 Q R X |jdkszt‚t|jjƒdd	gks’t‚t |jjd
dg¡sªt‚t |jjddgddgg¡sÊt‚t |jjddg¡sât‚t |jjd¡söt‚dS )zS
    Test selection of a specific pixel list WCS using ``colsel``. See #11412.
    zdata/chandra-pixlist-wcs.hdrÚimageZpixelrH   é   )ZkeyselZcolselé   zRA---TANzDEC--TANg¢¨Ù6-¬l@g’ƒô}ÑgMÀr   r   g>BºÅé!¿g>BºÅé!?g     €f@N)r   r   ÚHeaderZfromtextfiler   r    r   r
   r   r   r   r   r&   r"   ÚlistÚctyper#   ZallcloseZcrvalZpcZcdeltZlonpole)Zhdr_fileÚhdrZw0rR   r   r   r   Útest_pixlist_wcs_colselŽ   s    " r^   c                  C   s0   t jdd�} t t | ¡¡}|j jdks,t‚d S )NÚA)Úkey)r   r   r   r   r   Zaltr"   )rR   rS   r   r   r   Útest_alt_wcskey¢   s    ra   )"r   r   Únumpyr#   r   Znumpy.testingr   Zastropyr   Z
astropy.ior   Zastropy.utils.datar   r   r   Zastropy.utils.exceptionsr   Zastropy.utils.miscr	   Zastropy.wcs.wcsr
   r   r-   r1   r2   ÚmarkÚfilterwarningsr3   r   r4   rD   rV   r^   ra   r   r   r   r   Ú<module>   s*   

