
    HR-e~
                     6   d dl Z d dlZd dlmZ g dZ e j                    Ze j        	                    e
          ZdZ	 d dlmZ n+# e$ r# 	 d dlmZ n# e$ r dZ ed           Y nw xY wY nw xY wd Zd	 Zd
 Zd Zd Zd Z edd          d             ZdS )    N)
deprecated)assert_equalassert_almost_equalassert_truesetup_functionteardown_function	has_isnanT)isnanFzTests requiring isnan will failc                 8    t          j        t                     d S N)oschdirTEST_DIRfunctions    =lib/python3.11/site-packages/astropy/io/ascii/tests/common.pyr   r       s    HX    c                 8    t          j        t                     d S r   )r   r   CWDr   s    r   r   r   $   s    HSMMMMMr   c                     | |k    sJ d S r    )abs     r   r   r   )   s    666666r   c                 0    t          j        | |fi |sJ d S r   )npallclose)r   r   kwargss      r   r   r   -   s(    ;q!&&v&&&&&&&r   c                     | sJ d S r   r   )r   s    r   r   r   1   s    HHHHHr   c                       fd}|S )z
    Wraps a test decorator so as to properly replicate metadata
    of the decorated function, including nose's additional stuff
    (namely, setup and teardown).
    c                 V   t          d          rj        }nj        }j        | _        j        | _        j        | _        t          | d          s4	 j        j        | _        n!# t          $ r j
        j        | _        Y nw xY w	 || _        n# t          $ r
 || _        Y nw xY w| S )Ncompat_func_namecompat_co_firstlineno)hasattrr!   __name____dict____doc__
__module__	func_codeco_firstlinenor"   AttributeError__code__	TypeError)newfuncnamefuncs     r   decoratez make_decorator.<locals>.decorate<   s    4+,, 	!(DD=D=,!_w 788 	MM040M--! M M M040L---M	,#G 	, 	, 	,'+G$$$	, s$   A( (BB
B B&%B&r   )r/   r0   s   ` r   make_decoratorr1   5   s#        ( Or   z5.1zpytest.raises)alternativec                  T     d                     d  D                        fd}|S )a  Test must raise one of expected exceptions to pass.

    Example use::

      @raises(TypeError, ValueError)
      def test_raises_type_error():
          raise TypeError("This test passes")

      @raises(Exception)
      def test_that_fails_by_passing():
          pass

    z or c                     g | ]	}|j         
S r   )r$   ).0es     r   
<listcomp>zraises.<locals>.<listcomp>b   s    888888r   c                 Z      j          fd} t                     |          }|S )Nc                  Z    	  | i |  d }t          |          # $ r Y d S w xY w)Nz() did not raise )AssertionError)argkwmessage
exceptionsr/   r.   valids      r   r-   z)raises.<locals>.decorate.<locals>.newfuncg   sd    .c R    ";;E;;$W---	    s   ! **)r$   r1   )r/   r-   r.   r>   r?   s   ` @r   r0   zraises.<locals>.decorated   sR    }	. 	. 	. 	. 	. 	. 	. 	. '.&&w//r   )join)r>   r0   r?   s   ` @r   raisesrA   S   sK     KK88Z88899E      Or   )r   numpyr   astropy.utils.decoratorsr   __all__getcwdr   pathdirname__file__r   r	   mathr
   ImportErrorprintr   r   r   r   r   r1   rA   r   r   r   <module>rL      s}   
			     / / / / / /   bikk7??8$$	1 1 1 11 1 1 1	/0000011    
  ' ' '    < E///  0/  s5   A A.AA.A(%A.'A((A.-A.