
    HR-e                         d dl mZ d dlZd dlZd dlmZmZmZm	Z	 d dl
mZ ddlmZmZmZ d Zd Zej                            d	d
efdefg deeeeffg deeeeffg          d             Z G d d          ZdS )    )infN)aszarrinf_likevectorize_if_neededvectorize_redshift_method)AstropyDeprecationWarning   )
invalid_zsvalid_zsz_arrc                  <    G d d          }  |             }t          |j        d          sJ t          |j        j        t          j                  sJ |                    d          dk    sJ t          |                    d          t                    sJ |                    t	          j        d                    t	          j        d          k    sJ t          |                    t	          j        d                    t          j                  sJ t          |                    t	          j	        ddg                    t	          j	        ddg          k              sJ t          |                    t	          j	        ddg                    t          j
                  sJ t          |                    ddg          t	          j	        ddg          k              sJ t          |                    ddg          t          j
                  sJ dS )z?Test :func:`astropy.cosmology.utils.vectorize_redshift_method`.c                   $    e Zd Zed             ZdS )-test_vectorize_redshift_method.<locals>.Classc                     |S )N )selfzs     Blib/python3.11/site-packages/astropy/cosmology/tests/test_utils.pymethodz4test_vectorize_redshift_method.<locals>.Class.method   s    H    N)__name__
__module____qualname__r   r   r   r   r   Classr      s.        	"	 	 
#	"	 	 	r   r   __vectorized__r	      N)hasattrr   
isinstancer   np	vectorizeintfloat64allarrayndarray)r   cs     r   test_vectorize_redshift_methodr'      s          
 	A18-.....ah-r|<<<<< 88A;;!ahhqkk3''''' 88BJqMM""bjmm3333ahhrz!}}--rz::::: qxx!Q(())RXq!f-=-==>>>>>ahhrxA//00"*===== qxxA28QF#3#3344444ahh1v&&
3333333r   c                      d } t          j        t                    5  t          | d          dk    sJ t	          t          | ddg          ddgk              sJ 	 ddd           dS # 1 swxY w Y   dS )z
    Test :func:`astropy.cosmology.utils.vectorize_if_needed`.
    There's no need to test 'veckw' because that is directly pasased to
    `numpy.vectorize` which thoroughly tests the various inputs.

    c                     | dz  S )Nr   r   )xs    r   funcz&test_vectorize_if_needed.<locals>.func9   s    !tr   r         	   N)pytestwarnsr   r   r#   )r+   s    r   test_vectorize_if_neededr1   1   s       
/	0	0 @ @"4++q0000&taV44A>??????	@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s   >A))A-0A-zarr, expected        )r2   g      ?       @      @)r   r	   r   r-   c                     t          j        t                    5  t          j        t          |           |k              sJ 	 ddd           dS # 1 swxY w Y   dS )z
    Test :func:`astropy.cosmology.utils.inf_like`.
    All inputs should give a float output.
    These tests are also in the docstring, but it's better to have them also
    in one consolidated location.
    N)r/   r0   r   r   r#   r   )arrexpecteds     r   test_inf_liker8   C   s      
/	0	0 1 1vhsmmx/0000001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s   (AAAc                       e Zd Zej                            d e eeddd e	j
        d          ddeeeeg
                              d             Zej                            d	e          d
             ZdS )Test_aszarrz	z, expectr   r	   iL  i  r3   r4   c                 R    t          |          }t          j        ||          sJ dS z,Test :func:`astropy.cosmology.utils.aszarr`.N)r   r   array_equal)r   r   expectgots       r   
test_validzTest_aszarr.test_valid[   s-     Qii~c6*******r   zz, excc                 ~    t          j        |          5  t          |           ddd           dS # 1 swxY w Y   dS r<   )r/   raisesr   )r   r   excs      r   test_invalidzTest_aszarr.test_invalidi   s     ]3 	 	1III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   266N)r   r   r   r/   markparametrizelistzipr   r   r"   r   r@   r
   rD   r   r   r   r:   r:   Z   s        [CAtZRZ--sCueT 	
 	
 + + +
 [Xz22  32  r   r:   )mathr   numpyr   r/   astropy.cosmology.utilsr   r   r   r   astropy.utils.exceptionsr   	test_corer
   r   r   r'   r1   rE   rF   r8   r:   r   r   r   <module>rN      sa                         ? > > > > > 2 2 2 2 2 2 2 2 2 24 4 4<@ @ @$ 	c
	
C			S#s34	S#s+,	 1 1 1         r   