
    IR-e=                        d dl Z 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  e j        ej        dd	
          Zej        j        ZerdndZd Zd Zd Zd Zd Zd Zd Zd Zej                             e d          d             Z!ej        "                    d          ej        #                    dddg          d                         Z$dS )    N)units)Table)Time)iers)PYTHON_LT_3_11)HAS_H5PYg      <g     =)rtolatolzcan't set attributez,property '{0}' of '{1}' object has no setterc                     t          g dd          } | j        du sJ t          j        | j        g dk              sJ t          | j        t          j        j                  rJ t          | j	        t          j        j                  rJ t          j        j        | d<   | j        du sJ t          j        | j        g dk              sJ t          | j        d d         d	dg          sJ t          | j        d                   sJ t          | d         j                  sJ t          | j        t          j        j                  sJ t          | j	        t          j        j                  sJ d S )
N         cxcsecformatF)FFFr   T)FFTr   )r   maskednpallmask
isinstancevaluemaMaskedArrayunixallclose_sec	is_maskedts    <lib/python3.11/site-packages/astropy/time/tests/test_mask.pytest_simpler!      si   YYYx(((A8u6!&111122222 !'25#455555!&"%"3444445<AaD8t6!&000011111aV,,,,,QWQZ     QqTZ      agru011111afbe/0000000    c                  x    t          d          } | j        du sJ | j        t          j        d          k    sJ d S )N2000:001F)r   r   r   r   arrayr   s    r    test_scalar_initr&   4   sC    ZA8u6RXe__$$$$$$r"   c                     t          d          } t          j        t          t                              d| j        j                            5  d| _        d d d            n# 1 swxY w Y   t          dg          } t          j        t                    5 }d| j        d<   d d d            n# 1 swxY w Y   dt          |j                  v sJ d S )Nr$   r   )matchTr   z#assignment destination is read-only)r   pytestraisesAttributeErrorno_setter_errr   	__class____name__r   
ValueErrorstrr   )r   errs     r    test_mask_not_writeabler2   :   s;   ZA	m2261;;OPP
 
 
                 
 	j\A	z	"	" cq	              0C	NNBBBBBBs$   A""A&)A&B--B14B1c                  v   t          ddg          } t          j        j        | d<   t	          |           dk    sJ t          |           dk    sJ g d}t          | j                                      dd                                          |k    sJ d	| d<   t	          |           d
k    sJ | j        du sJ d S )Nr$   2000:002r   z['2000:001:00:00:00.000' --]zK<Time object: scale='utc' format='yday' value=['2000:001:00:00:00.000' --]>)z2masked_array(data=['2000-01-01 00:00:00.000', --],z!             mask=[False,  True],z       fill_value='N/A',z            dtype='<U23')z>U23z<U23z2000:111z1['2000:001:00:00:00.000' '2000:111:00:00:00.000']F)	r   r   r   r   r0   reprisoreplace
splitlines)r   expecteds     r    test_strr:   G   s    j*%&&A5<AaDq6633333QX	Y 	Y 	Y 	Y  H ;;vv..99;;xGGGG AaDq66HHHHH8ur"   c                  0   t           j                            dd          5  t          ddg          } t          j        j        | d<   | j        }t          |j	        d                   sJ t          |j	        d                   rJ t	          j
        |j        ddgk              sJ | j        }t          |d                   sJ t          |d                   rJ t	          j
        |j        ddgk              sJ 	 d d d            d S # 1 swxY w Y   d S )Nauto_downloadFr$   r4   r   r   T)r   confset_tempr   r   r   r   ut1r   r   r   r   r   )r   t_ut1t_unixs      r    test_transformrB   b   sX   			OU	3	3 4 4*j)**u|! Q(((((U[^,,,,,vejUDM122222 #####VAY'''''vfkeT]23333334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   CDDDc                  D   t           j                            ddgddgg          } t           j                            ddgddggddgddgg          }t           j                            dd	gd
dggddgddgg          }t          | d          }t           j                            |j        |           sJ t          j        |j        ddgddggk              sJ |j        du sJ t          |d          }t           j                            |j        |          sJ t          j        |j        |j        k              sJ t          j        |j        j        |j        k              sJ |j        du sJ t          ||d          }t           j                            |j        ||z             sJ t          j        |j        ||z   j        k              sJ |j        du sJ t          | |d          }t           j                            |j        | |z             sJ t          j        |j        | |z   j        k              sJ |j        du sJ t          d|d          }t           j                            |j        |          sJ t          j        |j        |j        k              sJ |j        du sJ |j	        }t          |          }t          j        |j        |k              sJ t          j        |j        |j        k              sJ |j        du sJ d S )Nr   r   r      TFr   
         (   r   r   r   )
r   r   r   r   allcloser   r   r   r   r6   )v0v1v2r   t_isot2s         r    test_masked_inputrP   t   s#   			QFQF+	,	,B			QFQF+D%=5%.2Q		R	RB			RHr2h/u~t}6U		V	VB 	R!!!A5>>!'2&&&&&6!&eU^eU^<<=====8uR!!!A5>>!'2&&&&&6!&BG#$$$$$6!',"')*****8tRH%%%A5>>!'27+++++6!&R"WN*+++++8tRH%%%A5>>!'27+++++6!&R"WN*+++++8tQ8$$$A5>>!'2&&&&&6!&BG#$$$$$8t EE	eB6"(e#$$$$$6"'RW$%%%%%9r"   c                      dt           j        fD ]N} t          t           j                            | gdg          d          }t          |j                  dk    sJ OdS )zFix for #9612r   TrE   jdr   z[--]N)r   nanr   r   masked_arrayr0   r6   )valr   s     r    test_all_masked_inputrV      sj     26{ $ $##SE#77EEE15zzV#####$ $r"   c                    t          g dd          }t          j        j        |d<   | dz  }t	          |g          }|                    |           t	          j        |d          }|j        |d         _        |d         j        sJ t          j        |d         j	        g d	k              sJ t          j        |d         j
        |d         j
        k              sJ d S )
Nr   r   r   r   ztempfile.fitsT)astropy_nativecol0FTF)r   r   r   r   r   writereadr   r   r   r   tmp_pathtmfnr   rO   s        r    test_serialize_fits_maskedra      s    	iii	)	)	)BELBqE	O	#BrdAGGBKKK	Bt	,	,	,B 	BvJf:6"V*/%9%9%99:::::6"V*"aio56666666r"   z
Needs h5py)reasonc                    t          g dd          }t          j        j        |d<   | dz  }t	          |g          }|                    |dd           t	          j        |          }|d	         j        sJ t          j        |d	         j        g d
k              sJ t          j        |d	         j	        |d	         j	        k              sJ d S )Nr   r   r   r   ztempfile.hdf5rootT)pathserialize_metarY   rZ   )
r   r   r   r   r   r[   r\   r   r   r   r]   s        r    test_serialize_hdf5_maskedrg      s    	iii	)	)	)BELBqE	O	#BrdAGGBVDG111	BBf:6"V*/%9%9%99:::::6"V*"aio56666666r"   z ignore:invalid value encounteredserialize_methodjd1_jd2formatted_valuec                    t          g dd          }t          j        j        |d<   | |j        j        d<   |dz  }t          |g          }|                    |           t          j        |          }|d         j        sJ t          j	        |d         j
        g dk              sJ | d	k    rd
t          j        z  ndt          j        z  }t          j	        t          |d         |d         z
            |k              sJ d S )Nr   r   r   r   ecsvztempfile.ecsvrY   rZ   rj   g?)r   r   r   r   inforh   r   r[   r\   r   r   uuspsabs)rh   r^   r_   r`   r   rO   r
   s          r    test_serialize_ecsv_maskedrr      s     
iii	)	)	)BELBqE'7BGV$	O	#BrdAGGBKKK	BBf:6"V*/%9%9%99:::::)->>>3::AHD6#bj1V9,--56666666r"   )%	functoolsnumpyr   r)   astropyr   rn   astropy.tabler   astropy.timer   astropy.utilsr   astropy.utils.compatr   "astropy.utils.compat.optional_depsr   partialrJ   r   r   r   r,   r!   r&   r2   r:   rB   rP   rV   ra   markskipifrg   filterwarningsparametrizerr    r"   r    <module>r      s                                    / / / / / / 7 7 7 7 7 7 y Kh%9   EO	 9	8 1 1 1.% % %
C 
C 
C  64 4 4$% % %P$ $ $7 7 7$ L667 7 767 >??+i9J-KLL7 7 ML @?7 7 7r"   