a
    ߙfbO                     @   s@   d dl Z ddlmZ d dlmZ d dlmZ G dd deZdS )    N   )FitsTestCase)
fitsheader)__version__c                   @   sL   e Z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 )TestFITSheader_scriptc                 C   sJ   t t}tdg W d    n1 s,0    Y  |jjdksFJ d S )Nz-hr   )pytestraises
SystemExitr   mainvaluecode)selfe r   Dlib/python3.9/site-packages/astropy/io/fits/tests/test_fitsheader.py	test_help   s    *zTestFITSheader_script.test_helpc                 C   sh   t t:}tdg | d }|dt ks6J W d    n1 sJ0    Y  |jjdksdJ d S )Nz	--versionr   zfitsheader )	r   r   r	   r   r
   
readouterrversionr   r   )r   capsysr   outr   r   r   test_version   s
    0z"TestFITSheader_script.test_versionc                 C   sD   t | dg | \}}| d ds4J |dks@J d S )Narange.fitsr   z:SIMPLE  =                    T / conforms to FITS standard )r   r
   datar   
splitlines
startswithr   r   r   errr   r   r   test_file_exists   s    z&TestFITSheader_script.test_file_existsc                 C   s  t dd| dg | \}}| d ds8J t dd| dg | \}}| }t|dksrJ |d dsJ |d d	sJ |d
 dsJ |d dsJ t dd| dg | \}}|drd|v sJ |drJ d S )N-kNAXISr   r   z;NAXIS   =                    3 / number of array dimensionszNAXIS*      ZNAXIS1   ZNAXIS2   ZNAXIS3Z	RANDOMKEYWARNINGZERROR)r   r
   r   r   r   r   lenr   r   r   r   test_by_keyword   s"    z%TestFITSheader_script.test_by_keywordc              	   C   s   t dd| dg | \}}t| dks6J t dddd| dg | \}}| d d	srJ t dd
dd| dg | \}}|dsJ t dddd| dg | \}}|dsJ d S )N-e1
test0.fits>   3r   BACKGRNDr   zBACKGRND=                 312.0r%   ZFOO)r   r
   r   r   r&   r   r   r   r   r   r   test_by_extension3   s    z'TestFITSheader_script.test_by_extensionc                 C   s  t ddd| dg | \}}| }t|dks<J |d dsNJ |d d	s`J |d
 dsrJ |d dsJ t ddddd| d| d| dg | \}}| }t|dksJ |d dsJ |d dsJ |d
 dsJ d S )Nz-tr   r-   r*   r!   r   z|   1 | BACKGRND | 316.0 |r"   z|   2 | BACKGRND | 351.0 |r#   z|   3 | BACKGRND | 312.0 |r$   z|   4 | BACKGRND | 323.0 |r(   r.   r    r   z
ascii.fitsz
blank.fitsz|   0 |   NAXIS |     3 |z|   0 |   NAXIS |     0 |z|   0 |   NAXIS |     2 |r   r
   r   r   r   r&   endswithr   r   r   r   
test_tableD   s&    z TestFITSheader_script.test_tablec                 C   s  t ddddddd| d| dg	 | \}}| }t|d	ksLJ |d
 ds^J |d dspJ t ddddddd| dg | \}}| }t|dksJ |d
 dsJ t ddd| d| dg | \}}| }t|d	ksJ |d ds J |d
 ds4J |d dsHJ t ddd| d| dg | \}}| }t|d	ksJ |d
 dsJ |d dsJ t ddd| dg | \}}| }t|dksJ |d
 dsJ d S )Nr(   r.   z-fr   ZEXPSTARTZEXPTIMEr*   z
test1.fitsr$   r"   z!test0.fits 49491.65366175    0.23r#   z!test1.fits 49492.65366175    0.22r    z	tdim.fitsr   z'0:NAXIS 1:NAXIS 2:NAXIS 3:NAXIS 4:NAXISz1tdim.fits       0       2      --      --      --z2test1.fits       0       2       2       2       2zDATE-OBSz
table.fitsztable.fits       --ztest0.fits 19/05/94ztb.fitszGtb.fits   True     16     0   True STScI-STSDAS/TABLES  tb.fits       1r0   r   r   r   r   test_fitsortY   sJ    

z"TestFITSheader_script.test_fitsortc              	   C   s   t dddd| dg | \}}| }t|dks>J |d  dsTJ t dddd	| dg | \}}| }t|dksJ |d  dsJ d S )
Nr(   r.   r   z
ESO DET IDzfixed-1890.fitsr"   r   z1HIERARCH ESO DET ID = 'DV13' / Detector system Idz
ESO.DET.ID)r   r
   r   r   r   r&   stripr1   r   r   r   r   test_dotkeyword   s    z%TestFITSheader_script.test_dotkeywordN)__name__
__module____qualname__r   r   r   r'   r/   r2   r3   r5   r   r   r   r   r   
   s   *r   )	r   r   r   Zastropy.io.fits.scriptsr   Zastropyr   r   r   r   r   r   r   <module>   s   