
    IR-e                     n    d dl Z 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 Zd Zd Z G d d          ZdS )	    N)	Parameter)_SpecialOperatorsDict_validate_domain_windowget_inputs_and_paramspoly_map_domainc                     t          j        g d          } t          | dd          g dk                                    sJ d}t	          j        t          |          5  t          | dd           d d d            n# 1 swxY w Y   t	          j        t          |          5  t          | dd           d d d            n# 1 swxY w Y   t	          j        t          |          5  t          | dd	           d d d            n# 1 swxY w Y   t	          j        t          |          5  t          | dd
           d d d            d S # 1 swxY w Y   d S )N)            )r   )r   )g      ?g      ?g      @r   z6Expected "domain" and "window" to be a tuple of size 2match)r   )r   r   r   )r   )r   r   r   )nparrayr   allpytestraises
ValueError)oldxMESSAGEs     Alib/python3.11/site-packages/astropy/modeling/tests/test_utils.pytest_poly_map_domainr      sN   8LLL!!D D'7337K7K7KKPPRRRRR HG	z	1	1	1 . .eW---. . . . . . . . . . . . . . .	z	1	1	1 4 4k73334 4 4 4 4 4 4 4 4 4 4 4 4 4 4	z	1	1	1 . .gu---. . . . . . . . . . . . . . .	z	1	1	1 4 4g{3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4sH   A==BB#CCC'DD	D	+E

EEc                     t          d           J t          d          dk    sJ t          ddg          dk    sJ t          t          j        ddg                    dk    sJ d} t          j        t
          |           5  t          d           d d d            n# 1 swxY w Y   t          j        t
          |           5  t          d           d d d            n# 1 swxY w Y   t          j        t
          |           5  t          dg           d d d            n# 1 swxY w Y   t          j        t
          |           5  t          t          j        dg                     d d d            n# 1 swxY w Y   t          j        t
          |           5  t          d           d d d            d S # 1 swxY w Y   d S )N)r
   r   r
   z,domain and window should be tuples of size 2r   )r   r
   r   )r   )r   r   r   r   r   r   )r   s    r   test__validate_domain_windowr   #   s   "4((000 #7++w6666"B7++w6666"28RG#4#455@@@@ >G	z	1	1	1 - -,,,- - - - - - - - - - - - - - -	z	1	1	1 ' '&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '	z	1	1	1 & &%%%& & & & & & & & & & & & & & &	z	1	1	1 0 0"///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	z	1	1	1 $ $###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $sZ   B  B$'B$C""C&)C&D%%D),D)#E::E>E> F==GGc                     dd} t          |           \  }}t          |          D ]U\  }}t          |t                    sJ |j        d| k    sJ |j        |j        k    sJ |j        t          j        k    sJ Vddg}t          |          D ]Q\  }}t          |t                    sJ |j        d| k    sJ |j        |j        k    sJ |j        ||         k    sJ Rt          j
        d          }dddd}dd	}	t          j        t          |
          5  t          |           d d d            n# 1 swxY w Y   t          j        t          |
          5  t          |	           d d d            d S # 1 swxY w Y   d S )N      c                     d S N )input0input1param0param1s       r   func1z)test_get_inputs_and_params.<locals>.func1<           inputparamz)Signature must not have *args or **kwargs)r&   r'   c                    d S r"   r#   )r$   r%   r&   r'   argss        r   func2z)test_get_inputs_and_params.<locals>.func2O   r)   r*   c                     d S r"   r#   )r$   r%   r&   r'   kwargss        r   func3z)test_get_inputs_and_params.<locals>.func3R   r)   r*   r   )r   r    )r   	enumerate
isinstancer   namekindPOSITIONAL_OR_KEYWORDdefaultemptyreescaper   r   r   )
r(   inputsparamsindex_inputr8   r,   r   r/   r2   s
             r   test_get_inputs_and_paramsr@   :   si       +511NFF"6** 1 1v&),,,,,{oeoo----{f:::::~00000!fG!&)) / /u%+++++z_U__,,,,zU88888}..... iCDDG,-a         
z	1	1	1 % %e$$$% % % % % % % % % % % % % % %	z	1	1	1 % %e$$$% % % % % % % % % % % % % % % % % %s$   D77D;>D;E::E>E>c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )Test_SpecialOperatorsDictc                 "    d| _         d| _        d S )Ntestvalue)keyval)selfs    r   setup_methodz&Test_SpecialOperatorsDict.setup_method\   s    r*   c                 f   t                      }| j        |vsJ |                    | j        | j                   | j        |v sJ || j                 | j        k    sJ t	          j        t          d          5  |                    | j        | j                   d d d            d S # 1 swxY w Y   d S )Nz&Special operator "test" already existsr   )r   rF   
_set_valuerG   r   r   r   rH   special_operatorss     r   test__set_valuez)Test_SpecialOperatorsDict.test__set_value`   s    133x00000$$TXtx888x,,,,, *dh6666]:-UVVV 	= 	=((48<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s   8!B&&B*-B*c                     t                      }| j        |vsJ t          j                    5  | j        || j        <   d d d            n# 1 swxY w Y   | j        |v sJ || j                 | j        k    sJ d S r"   )r   rF   r   deprecated_callrG   rL   s     r   test___setitem__z*Test_SpecialOperatorsDict.test___setitem__k   s    133x00000#%% 	3 	3*.(dh'	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3x,,,,, *dh666666s   A		AAc                 &   t                      }|j        dk    sJ |                                dk    sJ |j        dk    sJ |                                dk    sJ |j        dk    sJ |                                dk    sJ |j        dk    sJ d S )Nr   r	   r
   r   )r   
_unique_id_get_unique_idrL   s     r   )test__SpecialOperatorsDict__get_unique_idzCTest_SpecialOperatorsDict.test__SpecialOperatorsDict__get_unique_idt   s    133 +q0000 //11Q6666 +q0000 //11Q6666 +q0000 //11Q6666 +q000000r*   c                    t                      }d}d}|                    ||          }|||j        fk    sJ ||v sJ ||         |k    sJ |                    ||          }|||j        fk    sJ ||v sJ ||         |k    sJ ||k    sJ d S )NrD   operator)r   addrS   )rH   rM   operator_namerW   key0key1s         r   test__SpecialOperatorsDict_addz8Test_SpecialOperatorsDict.test__SpecialOperatorsDict_add   s    133 $$]H=='8'CDDDDD((((( &(2222 $$]H=='8'CDDDDD((((( &(2222t||||||r*   N)__name__
__module____qualname__rI   rN   rQ   rU   r\   r#   r*   r   rB   rB   [   s_          	= 	= 	=7 7 71 1 1    r*   rB   )r:   inspectr   numpyr   r   astropy.modeling.utilsr   r   r   r   r   r   r@   rB   r#   r*   r   <module>rc      s    
			                      4 4 4$$ $ $.% % %B6 6 6 6 6 6 6 6 6 6r*   