a
    ߙfb                     @   s|   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 d dlmZ ddlmZ G dd	 d	eZG d
d deZdS )    N)WCS)WCSAxes)	BaseFrame)IMAGE_REFERENCE_DIR   )BaseImageTestsc                   @   s   e Zd ZdZdd ZdS )HexagonalFrameZabcdefc                 C   s   | j  \}}| j  \}}d||  }|| d }|| d d }t||g||gf| d _t||g||gf| d _t||g||gf| d _t||g||gf| d _t||g||gf| d _t||g||gf| d	 _d S )
Ng      ?g      @g      @abcdef)Zparent_axesZget_xlimZget_ylimnpZarraydata)selfZxminZxmaxZyminZymaxZymidZxmid1Zxmid2 r   Mlib/python3.9/site-packages/astropy/visualization/wcsaxes/tests/test_frame.pyupdate_spines   s    zHexagonalFrame.update_spinesN)__name__
__module____qualname__Zspine_namesr   r   r   r   r   r      s   r   c                   @   s   e Zd Zejjddejjedi ddd Zejjddejjedi ddd Z	ejjddejjedi dd	d
 Z
ejjddejjedi ddd Zdd ZdS )	TestFrameZastropy)sourcer   )Zbaseline_dirZ	toleranceZstylec                 C   s(  t | j}tjdd}t|g d|td}|| |jjdd |j	t
ddd	d
tjjd}i }d |d< |d< d |d<  |d<  |d< |d< |jd jd|d |jd d |jd jd|d |jd d |jd d |jd d |dd |dd ||jjj |S )N)   r   )Zfigsize)333333?r   ffffff?r   )wcsframe_classZwhite)Zcolor)   r                  @lower)ZvminZvmaxoriginZcmapr   r	   r   g      @r
   r   r   r   ZglonZ	Longitude)minpadZadZglatZLatitudeZbcefg      @g      Y@g     [@)r   Z
msx_headerpltfigurer   r   add_axescoordsZgridimshowr   ZonescmZ	gist_heatZset_axislabelZset_axislabel_positionZset_ticklabel_positionset_xlimset_ylimZset_clip_pathframeZpatch)r   r   figaxZimr$   r   r   r   test_custom_frame'   s0    


 zTestFrame.test_custom_framec                 C   s   t  }t|g ddd}|| |dd |dd ||dj |	t
d |dd	 |dd
 |jd d |jd d |S N皙?r3   皙?r4   equal)aspectr    r!   nothing   r               @      '@r   Fr   )r%   r&   r   r'   r+   r,   savefigjoinstrpathr)   r   zerosr(   set_auto_axislabelr   Ztmpdirr.   r/   r   r   r   !test_update_clip_path_rectangularP   s    
z+TestFrame.test_update_clip_path_rectangularc                 C   s|   t  }t|g ddtd}|| |dd |dd ||dj	 |
td |dd	 |dd
 |S )Nr2   r5   )r6   r   r    r!   r7   r8   r:   r;   r<   )r%   r&   r   r   r'   r+   r,   r=   r>   r?   r)   r   r@   rB   r   r   r   $test_update_clip_path_nonrectangularj   s    
z.TestFrame.test_update_clip_path_nonrectangularc                 C   s   t  }t|g ddd}|| |dd |dd ||dj |	  |
td |dd	 |dd
 |jd d |jd d |S r1   )r%   r&   r   r'   r+   r,   r=   r>   r?   	reset_wcsr)   r   r@   r(   rA   rB   r   r   r    test_update_clip_path_change_wcs   s    
z*TestFrame.test_update_clip_path_change_wcsc                 C   sp   t  }t|g d}|| |jjd |jjd |  |jj	 dksXJ |jj
 dkslJ d S )Nr2      Zpurple)r%   r&   r   r'   r(   r-   Zset_linewidthZ	set_colorrE   Zget_linewidthZ	get_color)r   r.   r/   r   r   r   %test_copy_frame_properties_change_wcs   s    
z/TestFrame.test_copy_frame_properties_change_wcsN)r   r   r   pytestZmarkZremote_dataZmpl_image_comparer   r0   rC   rD   rF   rH   r   r   r   r   r   %   s*   &r   )rI   Znumpyr   Zmatplotlib.pyplotZpyplotr%   Zastropy.wcsr   Zastropy.visualization.wcsaxesr   Z#astropy.visualization.wcsaxes.framer   Zastropy.tests.image_testsr   Ztest_imagesr   r   r   r   r   r   r   <module>   s   