
    HR-e                      N    d dl Z d dlmZ d dlmZ ddlmZ  G d de          ZdS )    N)__version__)
fitsheader   )FitsTestCasec                   J    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZdS )TestFITSheader_scriptc                     t          j        t                    5 }t          j        dg           d d d            n# 1 swxY w Y   |j        j        dk    sJ d S )Nz-hr   )pytestraises
SystemExitr   mainvaluecode)selfes     Elib/python3.11/site-packages/astropy/io/fits/tests/test_fitsheader.py	test_helpzTestFITSheader_script.test_help   s    ]:&& 	$!OTF###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$w|q      s   <A A c                    t          j        t                    5 }t          j        dg           |                                d         }|dt           k    sJ 	 d d d            n# 1 swxY w Y   |j        j        dk    sJ d S )Nz	--versionr   zfitsheader )	r
   r   r   r   r   
readouterrversionr   r   )r   capsysr   outs       r   test_versionz"TestFITSheader_script.test_version   s    ]:&& 	2!O[M***##%%a(C11111111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 w|q      s   A A''A+.A+c                     t          j        |                     d          g           |                                \  }}|                                d                             d          sJ |dk    sJ d S )Narange.fitsr   z:SIMPLE  =                    T / conforms to FITS standard )r   r   datar   
splitlines
startswithr   r   r   errs       r   test_file_existsz&TestFITSheader_script.test_file_exists   s}    =112333$$&&S~~"--H
 
 	
 	
 	
 byyyyyy    c                    t          j        dd|                     d          g           |                                \  }}|                                d                             d          sJ t          j        dd|                     d          g           |                                \  }}|                                }t          |          dk    sJ |d                             d          sJ |d                             d	          sJ |d
                             d          sJ |d                             d          sJ t          j        dd|                     d          g           |                                \  }}|                    d          rd|v sJ |                    d          rJ d S )N-kNAXISr   r   z;NAXIS   =                    3 / number of array dimensionszNAXIS*      NAXIS1   NAXIS2   NAXIS3	RANDOMKEYWARNINGERROR)r   r   r   r   r   r   lenr    s       r   test_by_keywordz%TestFITSheader_script.test_by_keyword    s   w		-(@(@ABBB$$&&S~~"--I
 
 	
 	
 	
 	x=)A)ABCCC$$&&Snn3xx1}}}}1v  )))))1v  *****1v  *****1v  *****{DIIm,D,DEFFF$$&&S~~i((?[C-?-?-?-?>>'*******r#   c           	      "   t          j        dd|                     d          g           |                                \  }}t	          |                                          dk    sJ t          j        dddd|                     d          g           |                                \  }}|                                d                             d	          sJ t          j        dd
dd|                     d          g           |                                \  }}|                    d          sJ t          j        dddd|                     d          g           |                                \  }}|                    d          sJ d S )N-e1
test0.fits>   3r%   BACKGRNDr   zBACKGRND=                 312.0r/   FOO)r   r   r   r   r1   r   r   r    s       r   test_by_extensionz'TestFITSheader_script.test_by_extension5   sq   sDIIl$;$;<===$$&&S3>>##$$****sD*dii6M6MNOOO$$&&S~~"--.NOOOOOsD*dii6M6MNOOO$$&&S~~i(((((sD%<1H1HIJJJ$$&&S~~i(((((((r#   c                    t          j        ddd|                     d          g           |                                \  }}|                                }t          |          dk    sJ |d                             d          sJ |d                             d	          sJ |d
                             d          sJ |d                             d          sJ t          j        ddddd|                     d          |                     d          |                     d          g           |                                \  }}|                                }t          |          dk    sJ |d                             d          sJ |d                             d          sJ |d
                             d          sJ d S )N-tr%   r9   r6   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 |r4   r:   r&   r   z
ascii.fitsz
blank.fitsz|   0 |   NAXIS |     3 |z|   0 |   NAXIS |     0 |z|   0 |   NAXIS |     2 |r   r   r   r   r   r1   endswithr    s       r   
test_tablez TestFITSheader_script.test_tableF   s   tZ<1H1HIJJJ$$&&Snn3xx1}}}}1v;<<<<<1v;<<<<<1v;<<<<<1v;<<<<<		-((		,''		,''		
 	
 	
 $$&&Snn3xx1}}}}1v:;;;;;1v:;;;;;1v:;;;;;;;r#   c                    t          j        ddddddd|                     d          |                     d          g	           |                                \  }}|                                }t          |          d	k    sJ |d
                             d          sJ |d                             d          sJ t          j        ddddddd|                     d          g           |                                \  }}|                                }t          |          dk    sJ |d
                             d          sJ t          j        ddd|                     d          |                     d          g           |                                \  }}|                                }t          |          d	k    sJ |d                             d          sJ |d
                             d          sJ |d                             d          sJ t          j        ddd|                     d          |                     d          g           |                                \  }}|                                }t          |          d	k    sJ |d
                             d          sJ |d                             d          sJ t          j        ddd|                     d          g           |                                \  }}|                                }t          |          dk    sJ |d
                             d          sJ d S )Nr4   r:   -fr%   EXPSTARTEXPTIMEr6   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       1r?   r    s       r   test_fitsortz"TestFITSheader_script.test_fitsortc   s\   		,''		,''
	
 	
 	
 $$&&Snn3xx1}}}}1vBCCCCC1vBCCCCC		,''		
 	
 	
 $$&&Snn3xx1}}}}1vBCCCCC4$))K"8"8$))L:Q:QR	
 	
 	
 $$&&Snn3xx1}}}}1vHIIIII1vRSSSSS1vSTTTTT 	4TYY|%<%<dii>U>UV	
 	
 	
 $$&&Snn3xx1}}}}1v4555551v455555 	sD$))I*>*>?@@@$$&&Snn3xx1}}}}1vU
 
 	
 	
 	
 	
 	
r#   c                    t          j        ddddd|                     d          |                     d          g           |                                \  }}|                                }t          j        ddddddd|                     d          |                     d          g	           |                                \  }}|                                }t          |          d	k    sJ |d
                             d          sJ |d                             d          sJ t          |          d	k    sJ |d
                             d          sJ |d                             d          sJ dS )z#check that sorting by keyword worksrC   r%   r&   r4   r:   
group.fitsr6   -sr,   r(   zgroup.fits     5r*   ztest0.fits     0Nr?   )r   r   out_unsortederr_unsorted
out_sorted
err_sorteds         r   $test_fitsort_sorting_keyword_fitsortz:TestFITSheader_script.test_fitsort_sorting_keyword_fitsort   s   		,''		,''
	
 
	
 
	
 &,%6%6%8%8"l#..00		,''		,''
	
 	
 	
 "(!2!2!4!4
J**,,
<  A%%%%A''(:;;;;;A''(:;;;;;:!####!}%%&899999!}%%&89999999r#   c           
      8   t          j        t                    5  t          j        ddd|                     d          |                     d          g           d d d            n# 1 swxY w Y   |                                \  }}d|v sJ t          j        t                    5  t          j        dd|                     d          |                     d          g           d d d            n# 1 swxY w Y   |                                \  }}d|v sJ d S )Nr>   rI   DUMMYrH   r6   z/only supported in conjunction with -f/--fitsort)r
   r   r   r   r   r   r   )r   r   	out_table	err_tableout_defaulterr_defaults         r   &test_fitsort_sorting_keyword_complainsz<TestFITSheader_script.test_fitsort_sorting_keyword_complains   s   ]:&& 	 	OtWdii&=&=tyy?V?VW  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  &0022	9@IMMMM]:&& 	 	Ow		, 7 7<9P9PQ  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $*#4#4#6#6 [@KOOOOOOs$   A A&&A*-A*'?C22C69C6c           	      r   t          j        dddd|                     d          g           |                                \  }}|                                }t          |          dk    sJ |d                                                             d          sJ t          j        dddd	|                     d          g           |                                \  }}|                                }t          |          dk    sJ |d                                                             d          sJ d S )
Nr4   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   r1   stripr@   r    s       r   test_dotkeywordz%TestFITSheader_script.test_dotkeyword   s&   sD,		BS8T8TUVVV$$&&Snn3xx1}}}}FLLNN##$WXX	
 	
 	
 	sD,		BS8T8TUVVV$$&&Snn3xx1}}}}FLLNN##$WXX	
 	
 	
 	
 	
r#   N)__name__
__module____qualname__r   r   r"   r2   r<   rA   rF   rN   rU   rX    r#   r   r   r      s        ! ! !
! ! !  + + +*) ) )"< < <:@
 @
 @
D&: &: &:PP P P
 
 
 
 
r#   r   )	r
   astropyr   r   astropy.io.fits.scriptsr   conftestr   r   r\   r#   r   <module>r`      s     * * * * * * . . . . . . " " " " " "_
 _
 _
 _
 _
L _
 _
 _
 _
 _
r#   