
    IR-e                        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 g dZd Zd	 Zd
 Zd Zej                            d ej        ddg           ej        dd g          ddgdd g ej        ddg          ddgg          d             Zej                            dg d          d             Zd Z G d de          Zd Zd Zd ZdS )    N)units)NDDataArray)NDData)StdDevUncertainty)WCS)
maskflagsuncertaintyunitshapesizedtypendimwcsconvert_unit_toc                  `    t          g d          } t          D ]}t          | |          sJ d S )N         )r   NDDATA_ATTRIBUTEShasattr)nddattrs     @lib/python3.11/site-packages/astropy/nddata/tests/test_compat.py-test_nddataarray_has_attributes_of_old_nddatar      sE    
iii
 
 C! " "sD!!!!!!" "    c                      t          t          j        d                    } | j        dk    sJ | j        dk    sJ | j        t          j        t                    k    sJ d S )N
   r    d   )r   npzerosr   r   r   floatnds    r   test_nddata_simpler'   "   s\    	RXh''	(	(B8x7c>>>>8rx&&&&&&r   c                     t          t          j        d                    } | j        dk    sJ | j        dk    sJ | j        t          j        t                    k    sJ t          i t          j        d                    } | j        dk    sJ | j        dk    sJ | j        t          j        t                    k    sJ t          j        d          }t          dt          j        |          z             }t          ||          } | j        dk    sJ | j        dk    sJ | j        t          j        t                    k    sJ | j	        |k    sJ d S )Nr   )datar!   )metar)   皙?)
r   r"   r#   r   r   r   r$   r   
zeros_liker
   )r&   r)   r
   s      r   test_nddata_parametersr-   )   sB   	"(8,,	-	-	-B8x7c>>>>8rx&&&&	"28H#5#5	6	6	6B8x7c>>>>8rx&&&&8HD#C"-*=*=$=>>K	T;	'	'B8x7c>>>>8rx&&&&>[((((((r   c                      t          t          j        g dg dg                    } | j        dk    sJ | j        t          j        t
                    k    sJ d S )Nr   )         r1   )r   r"   arrayr   r   intr%   s    r   test_nddata_conversionr4   >   sV    	RXyyy)))455	6	6B7a<<<<8rx}}$$$$$$r   flags_inTFr   abc                 j    t          ddg|           }|j        | k                                    sJ d S )Nr   r	   )r   r	   all)r5   r   s     r   'test_nddata_flags_init_without_np_arrayr;   D   s?     q!fH
-
-
-CI!&&(((((((r   r   ))r    r0   r0   )r   r    r    c                    t          j        t                    5 }t          t	          j        d          t	          j        |                      d d d            n# 1 swxY w Y   |j        j        d         dk    sJ d S )Nr   r9   r   z%dimensions of flags do not match data)	pytestraises
ValueErrorr   r"   r#   onesvalueargs)r   excs     r   test_nddata_flags_invalid_shaperE   T   s    	z	"	" >cBHX&&bgenn====> > > > > > > > > > > > > > >9>! GGGGGGGs   6AA #A c                     t          t          j        d                    } d| _        t	          dt          j        |           z             | _        t          j        | j                  }t          j        |t                    | _
        |                     d          }t          j        |j        t          j        d          k              sJ t          j        |j        j        d| j        j        z  k              sJ |j        t          j        k    sJ d|j
        d<   | j
        d         |j
        d         k    sJ t          j        | j                  | _        |                     d          }d S )	Nr<   kmr+   )r   mg     @@T)r   r   )r   r"   rA   r   r   r,   r
   r)   r2   boolr   r   r:   urH   r	   )dtmpd1s      r   test_convert_unit_torN   [   s,   BGFOO$$AAF%cBM!,<,<&<==AM -

CXc&&&AF	
		3		B6"'RXf---.....6".&&1=3F*FFGGGGG7ac>>>>BGDM6$<274=((((mAF##AG	
		3		BBBr   c                   "     e Zd ZdZ fdZ xZS )	SubNDDatazm
    Subclass for test initialization of subclasses in NDData._arithmetic and
    NDData.convert_unit_to
    c                      t                      j        |i | | j        t          d          | j        t          d          d S )Nz#Unit for subclass must be specifiedz"WCS for subclass must be specified)super__init__r   r@   r   )selfargkwd	__class__s      r   rS   zSubNDData.__init__w   sU    #%%%%9BCCC8ABBB r   )__name__
__module____qualname____doc__rS   __classcell__)rW   s   @r   rP   rP   q   sK         
C C C C C C C C Cr   rP   c                      t          j        ddg          } t          | dt          d                    }|                    d          }t           j                            |j        d|j        z             d S )Nr    rH   r   )naxis)r   r   rG   i  )r"   rA   rP   r   r   testingassert_array_equalr)   )r)   arr1results      r   (test_init_of_subclass_in_convert_unit_torc      sk    7B8DT1666D!!$''FJ!!$)TFK-?@@@@@r   c                      t          g dt          g d          g d          } t          |           }|j        | j        u sJ |j        | j        u sJ |j        | j        u sJ |j        | j        k    sJ d S )N      ?g      @g      "@rf   g       @g      @)r   r   r   )r
   r	   )r   r   r)   r
   r	   r*   ndd1ndd2s     r   !test_nddataarray_from_nddataarrayrk      s    %6%G%Gyyy  D tD
 9	!!!!t/////:####9	!!!!!!r   c                      t          g dt          g d                    } t          |           }|j        | j        u sJ |j        | j        u sJ |j        | j        k    sJ d S )Nre   rg   )r
   )r   r   r   r)   r
   r*   rh   s     r   test_nddataarray_from_nddatarm      sy    ////@/Q/QRRRDtD9	!!!!t/////9	!!!!!!r   )numpyr"   r>   astropyr   rJ   astropy.nddata.compatr   astropy.nddata.nddatar   astropy.nddata.nduncertaintyr   astropy.wcsr   r   r   r'   r-   r4   markparametrizer2   r;   rE   rN   rP   rc   rk   rm    r   r   <module>rw      s  
            - - - - - - ( ( ( ( ( ( : : : : : :         " " "' ' ') ) )*% % % $!Q	u	
A#s	c

 
) )
 
)
 ">">">??H H @?H     ,C C C C C C C CA A A" " " " " " " "r   