
    IR-e                         d dl Z d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d Zd Z	 d	 Zd
 Zd Zd Zd Zd Zd Ze j                            d e                      d             ZdS )    N)units)models)
_ModelMeta)
Gaussian1DMappingPix2Sky_TAN)assert_quantity_allclosec                  6   t          dt          j        z  dt          j        z  dt          j        z            } | j                                        }t          |d         dt          j        z             t          |d         dt          j        z             d S )N   meanstddev	amplituder   gGz@   gRQ	@)r   umcmJybounding_boxr	   )gbboxs     Llib/python3.11/site-packages/astropy/modeling/tests/test_quantities_model.pytest_gaussian1d_bounding_boxr      su    ACADAHEEEA>&&((DT!Weack222T!Weack22222    c            	         t          dt          j        z  dt          j        z  gdt          j        z  dt          j        z  gdt          j        z  dt          j        z  gd          } t           | dt          j        z            d	d
gt          j        z             t           | t          j        dt          j        z  dt          j        z  g                    d	dgt          j        z             d S )Nr   g       @i  g?d      )r   r   r   n_modelsg)\(?gǖi$?g        i  gSt$?)r   r   Jr   AAr	   Quantityr   s    r   test_gaussian1d_n_modelsr#      s    qs7C!#I&!#gtad{#ac	3:&		 	 	A QQtacz]]Z,=,CDDD	!*dQSj$+.
/
/00:x2H132N    r   c                  4   t          dt          j        z  dt          j        z  dt          j        z            }  | dt          j        z             d}t          j        t          j        |          5   | d           ddd           dS # 1 swxY w Y   dS )zW
    Test that if constructed with Quanties models must be called with quantities.
    r   r   
   zP.* Units of input 'x', .* could not be converted to required input units of m .*)matchN)r   r   r   r   r   pytestraises
UnitsError)r   MESSAGEs     r   test_quantity_callr+   )   s     	ACADAHEEEAAb13hKKK	  
q|7	3	3	3  	"                 s   4BBBc                  n    t          ddd          } t          | t                     sJ  | d           dS )z\
    Test that if not constructed with Quantites they can be called without quantities.
    r   r   r%   N)r   
isinstancer"   s    r   test_no_quantity_callr.   9   s?     	!q111Aa$$$$$AbEEEEEr   c                      t          dt          j        z  dt          j        z            } t	          | t                     sJ  | dt          j        z             d S )Nr   )r   r   r%   )r   r   r   r   r-   r"   s    r   test_default_parametersr0   B   sO     	ACAD111Aa$$$$$Ab13hKKKKKr   c                      t          dt          j        z  dt          j        z  dt          j        z            } | j        sJ t          ddd          } | j        rJ dt          j        z  | _        | j        sJ dS )
    Test Quantity
    r   r   N)r   r   r   r   r   uses_quantityr   r"   s    r   test_uses_quantityr4   J   s{     	ACADAHEEEA?!q111AWAF?r   c                  f   t          dt          j        z  dt          j        z  dt          j        z            } t          dt          j        z  dt          j        z  dt          j        z            }| |z  j        sJ t          ddd          } t          ddd          }| |z  }|j        rJ dS )r2   r   r      N)r   r   r   r   r   r3   )r   g2comps      r   test_uses_quantity_compoundr9   [   s     	ACADAHEEEA	QSQTQX	F	F	FBF!!!!!q111A	1	2	2	2Br6D######r   c                  T    t          d          t                      z  } | j        sJ d S )N)r   r   )r   r   r3   )r8   s    r   test_uses_quantity_no_paramr;   l   s+    6??[]]*Dr   c                      g } t          t                    D ]^}t          t          |          }t          |          t          u r1	  |            }n# t
          $ r Y nw xY w|                     |           _| S )N)dirr   getattrtyper   	Exceptionappend)	allmodelsnamemodelr   s       r   
_allmodelsrE   r   s    IF    %%;;*$$EGG   Qs   
A
AAr   c                    t          j        t                    5  i | _        ddd           n# 1 swxY w Y   t          j        t                    5  i | _        ddd           n# 1 swxY w Y   t          j        t                    5  i | _        ddd           n# 1 swxY w Y   t          j        t                    5  i | _        ddd           dS # 1 swxY w Y   dS )za
    input_units
    return_units
    input_units_allow_dimensionless
    input_units_strict
    N)r'   r(   AttributeErrorinput_unitsreturn_unitsinput_units_allow_dimensionlessinput_units_strict)r   s    r   test_read_onlyrL      s    
~	&	&                	~	&	&                	~	&	& / /,.)/ / / / / / / / / / / / / / /	~	&	& " "!" " " " " " " " " " " " " " " " " "sB   .22A&&A*-A*
BB"%B"CCC)r'   astropyr   r   astropy.modelingr   astropy.modeling.corer   astropy.modeling.modelsr   r   r   astropy.tests.helperr	   r   r#   r+   r.   r0   r4   r9   r;   rE   markparametrizerL    r   r   <module>rU      s@          # # # # # # , , , , , , D D D D D D D D D D 9 9 9 9 9 93 3 3
 
 
"
   
 
 
    "$ $ $"  
 
 
 jjll++" " ,+" " "r   