U
    e»{jE  ã                   @   sØ   d dl m Z mZ d dlZd dl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d„ 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&d'„ Zd(d)„ Zd*d+„ Zd,d-„ ZdS ).é    )ÚcopyÚdeepcopyN)Úwcsc               	   C   sT   t  ¡ j jjst‚t  ¡ st‚t t j¡� t  ¡ } |  	¡  W 5 Q R X t  ¡ } ~ d S ©N)
r   ZWCSZcelÚprjÚAssertionErrorÚPrjprmÚpytestZraisesZInvalidPrjParametersErrorÚset©r   © r   ú\/var/www/html/bwave/python/venv/lib/python3.8/site-packages/astropy/wcs/tests/test_prjprm.pyÚtest_prjprm_init
   s    r   c                  C   s    t  ¡ } t| ƒ}t|ƒ}dddddg| _tj| j|jddd�rTtj| j|jddd�sXt‚~ ~~t  ¡ } t| ƒ}dddddg| _tj| j|jddd�r˜t‚~ ~d S )Nr   é   é   é   é   çê-�™—q=©ZatolZrtol)r   r   r   ÚpvÚnpÚallcloser   r   )r   Zprj2Zprj3r   r   r   Útest_prjprm_copy   s        ÿ
r   c                  C   s   t  ¡ } | jdkst‚d S ©Nr   )r   r   Ú_flagr   r   r   r   r   Útest_prjprm_flag-   s    r   c                  C   s€   t  ¡ } | jdkst‚| jdks$t‚d| _|  ¡  | jdks@t‚| jsJt‚d| _| jsZt‚d | _| jdksnt‚| jdks|t‚d S )Nz   r   ÚTAN)r   r   Úcoder   r   r
   r   r   r   r   Útest_prjprm_code2   s    

r   c                  C   s�   t  ¡ } | jd kst‚| jdks$t‚d| _d| _|  ¡  | jdksFt‚d| _| jsVt‚d| _| jdksjt‚d | _| jd ks~t‚| jdksŒt‚d S )Nr   r   ç       @ç        )r   r   Úphi0r   r   r   r
   r   r   r   r   Útest_prjprm_phi0E   s    
r"   c                  C   s–   t  ¡ } | jd kst‚| jdks$t‚d| _d| _d| _|  ¡  | jdksLt‚d| _| js\t‚d| _| jdkspt‚d | _| jd ks„t‚| jdks’t‚d S )Nr   r   r   ç      @g       @)r   r   Útheta0r   r   r   r!   r
   r   r   r   r   Útest_prjprm_theta0[   s    
r%   c                  C   s  t  ¡ } | jjt jkst‚| jd ks(t‚| jdks6t‚d| _d| _	d| _dd„ t
t jƒD ƒ}|| _|  ¡  | j	dksxt‚| jdks†t‚tj| j|ddd�sžt‚| j| _| jdks´t‚|  ¡  tj| j|ddd�sÔt‚t |¡d	 | _| jdksòt‚|  ¡  tj| j|ddd��st‚d
| _ddd g| _tj| jd d… ddddgddd��sPt‚d | _| jd dk�sjt‚t t | jdd… ¡¡�sŠt‚tj| jdd … dddd��s¬t‚t jtjg }d| _|| _|  ¡  t t | j¡¡�sæt‚t |¡| _|  ¡  t t | j¡¡�st‚d S )Nr   ÚZPNr   r#   c                 S   s    g | ]}|d  rt |ƒn|‘qS )é   )Úfloat)Ú.0Úir   r   r   Ú
<listcomp>}   s     z"test_prjprm_pv.<locals>.<listcomp>g�íµ ÷Æ°>r   gH¯¼šò×Š>ÚSZPr    g     ÀX@é   ç      @é   é   r   )r   r   r   ÚsizeÚPRJ_PVNr   r$   r   r   r!   Úranger
   r   r   ÚarrayÚallÚisnanÚnan)r   r   Znan_pvsr   r   r   Útest_prjprm_pvr   sH    * "r8   c                  C   s`   t  ¡ } d| _d| _d| _ddddg| _|  ¡  | jt jks@t	‚d| _|  ¡  | jdks\t	‚d S )	Nr&   r   r#   r    g      ð?r.   r,   ég   )
r   r   r   r!   r$   r   r
   Zpvranger2   r   r   r   r   r   Útest_prjprm_pvrange§   s    r:   c                 C   s&   | j dkst‚d| _ | j dks"t‚d S )Né   r   )Zboundsr   ©Úprj_TABr   r   r   Útest_prjprm_boundsµ   s    r>   c                 C   s   | j tjkst‚d S r   )Úcategoryr   ZPRJ_ZENITHALr   r<   r   r   r   Útest_prjprm_category»   s    r@   c                 C   s   | j s
t‚d S r   )Únamer   r<   r   r   r   Útest_prjprm_name¿   s    rB   c                 C   s   t  t  | j¡¡st‚d S r   )r   r5   ÚisfiniteÚwr   r<   r   r   r   Útest_prjprm_wÃ   s    rE   c                 C   s   | j dkst‚d S ©Nr/   )Z	simplezenr   r<   r   r   r   Útest_prjprm_simplezenÇ   s    rG   c                 C   s   | j dkst‚d S r   )Z	equiarealr   r<   r   r   r   Útest_prjprm_equiarealË   s    rH   c                 C   s   | j dkst‚d S r   )Z	conformalr   r<   r   r   r   Útest_prjprm_conformalÏ   s    rI   c                 C   s   | j dkst‚d S r   )Zglobal_projectionr   r<   r   r   r   Útest_prjprm_global_projectionÓ   s    rJ   c                 C   s   | j dkst‚d S rF   )Z	divergentr   r<   r   r   r   Útest_prjprm_divergent×   s    rK   c                 C   s   | j dkst‚d S ©Nr    )Zr0r   r<   r   r   r   Útest_prjprm_r0Û   s    rM   c                 C   s    | j dkst‚| jdkst‚d S rL   )Zx0r   Zy0r<   r   r   r   Útest_prjprm_x0_y0ß   s    rN   c                 C   s    | j dkst‚| jdkst‚d S r   )Únr   Úmr<   r   r   r   Útest_prjprm_n_mä   s    rQ   c              	   C   sÂ   ddddddddd	g	}d
ddddddddg	}| j |  ||¡Ž \}}tj||ddd�sXt‚tj||ddd�snt‚t ¡ }d|_|j | ||¡Ž \}}tj||ddd�s¨t‚tj||ddd�s¾t‚d S )Ngü©ñÒMb`¿gyé&1¬Œ?gú~j¼t“h¿g¸…ëQ¸Ž?gªñÒMb¨¿gV-²�¿g/Ý$�¥¿gÙÎ÷Sã¥›?g/Ý$�•?gºI+‡–?gœÄ °rh‘¿gú~j¼t“¨¿gJ+‡©¿gj¼t“¦¿gZd;ßO�§?gX9´Èv¾Ÿ?gºI+‡†?r   r   r   r   )Zprjs2xZprjx2sr   r   r   r   r   r   )r=   ÚxÚyZxrÚyrr   r   r   r   Útest_prjprm_prj_roundtripsé   s    rU   )r   r   Únumpyr   r	   Zastropyr   r   r   r   r   r"   r%   r8   r:   r>   r@   rB   rE   rG   rH   rI   rJ   rK   rM   rN   rQ   rU   r   r   r   r   Ú<module>   s0   5