
    IR-e                         d Z ddlZddlZddlmZ ddlmZmZ ddl	m
Z
mZmZmZ  G d d          Z G d d	          ZdS )
z$
Module to test statistic functions
    N)assert_almost_equal)IdentityMapping)leastsquareleastsquare_1dleastsquare_2dleastsquare_3dc                   L    e Zd ZdZed             Zd Zd Zd Zd Z	d Z
d Zd	S )
TestLeastSquare_XDz>Tests for leastsquare with pre-specified number of dimensions.c                 <   t          d          | _        t          d          t          dd          z  | _        t          d          t          dd          z  | _        t          j        ddd	          x| _        x| _        x| _	        | _
        d| _        d S )
N   n_inputs   r      r   
   d   num)r   model1Dr   model2Dmodel3Dnplinspacedataxyzlsq_expclss    Flib/python3.11/site-packages/astropy/modeling/tests/test_statistics.pysetup_classzTestLeastSquare_XD.setup_class   s    ******WTA-F-F-FF***WTA-F-F-FF+-;q"#+F+F+FFF35F3535    c                 r    t          | j        | j        d | j                  }t	          || j                   d S N)r   r   r   r   r   r    selflsqs     r#   test_1d_no_weightsz%TestLeastSquare_XD.test_1d_no_weights    s3    TYdDFCCC.....r%   c                     t          | j        | j        t          j        d          | j                  }t          || j                   d S Nr   )r   r   r   r   onesr   r   r    r(   s     r#   test_1d_with_weightsz'TestLeastSquare_XD.test_1d_with_weights$   s;    TYbgcllDFKKC.....r%   c                 ~    t          | j        | j        d | j        | j                  }t          || j                   d S r'   )r   r   r   r   r   r   r    r(   s     r#   test_2d_no_weightsz%TestLeastSquare_XD.test_2d_no_weights(   s7    TYdDFDFKKC.....r%   c                     t          | j        | j        t          j        d          | j        | j                  }t          || j                   d S r-   )	r   r   r   r   r.   r   r   r   r    r(   s     r#   test_2d_with_weightsz'TestLeastSquare_XD.test_2d_with_weights,   s?    TYbgcllDFDFSSC.....r%   c                     t          | j        | j        d | j        | j        | j                  }t          || j                   d S r'   )r	   r   r   r   r   r   r   r    r(   s     r#   test_3d_no_weightsz%TestLeastSquare_XD.test_3d_no_weights0   s;    TYdDFDFDFSSC.....r%   c                     t          | j        | j        t          j        d          | j        | j        | j                  }t          || j	                   d S r-   )
r	   r   r   r   r.   r   r   r   r   r    r(   s     r#   test_3d_with_weightsz'TestLeastSquare_XD.test_3d_with_weights4   sJ    It|RWS\\464646
 
 	C.....r%   N)__name__
__module____qualname____doc__classmethodr$   r+   r/   r1   r3   r5   r7    r%   r#   r   r      s        HH  [/ / // / // / // / // / // / / / /r%   r   c                   F    e Zd ZdZed             Zd Zd Zd Zd Z	d Z
dS )	TestLeastSquare_NDzTests for leastsquare.c                     t          d          | _        t          d          t          dd          z  | _        t	          j        ddd          x| _        x| _        x| _        | _	        d| _
        d S )	Nr   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r    r!   s    r#   r$   zTestLeastSquare_ND.setup_class>   sp    ******WTA-F-F-FF+-;q"#+F+F+FFF35F3535r%   c                 r    t          | j        | j        d | j                  }t	          || j                   d S r'   )r   r   r   r   r   r    r(   s     r#   r+   z%TestLeastSquare_ND.test_1d_no_weightsF   s3    $)T\4@@C.....r%   c                     t          | j        | j        t          j        d          | j                  }t          || j                   d S r-   )r   r   r   r   r.   r   r   r    r(   s     r#   r/   z'TestLeastSquare_ND.test_1d_with_weightsJ   s;    $)T\273<<HHC.....r%   c                     t          | j        | j        d | j        | j        | j                  }t          || j                   d S r'   )r   r   r   r   r   r   r   r    r(   s     r#   r5   z%TestLeastSquare_ND.test_3d_no_weightsN   s;    $)T\4PPC.....r%   c                     t          | j        | j        t          j        d          | j        | j        | j                  }t          || j	                   d S r-   )
r   r   r   r   r.   r   r   r   r   r    r(   s     r#   r7   z'TestLeastSquare_ND.test_3d_with_weightsR   sE    $)T\273<<QUQWXXC.....r%   c                     d}t          j        t          |          5  t          d| j        d | j                   d d d            d S # 1 swxY w Y   d S )Nz/Shape mismatch between model .* and measured .*)matchr   )pytestraises
ValueErrorr   r   r   )r)   MESSAGEs     r#   test_shape_mismatchz&TestLeastSquare_ND.test_shape_mismatchV   s    D]:W555 	7 	74<tv666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   AAAN)r8   r9   r:   r;   r<   r$   r+   r/   r5   r7   rK   r=   r%   r#   r?   r?   ;   s~            [/ / // / // / // / /7 7 7 7 7r%   r?   )r;   numpyr   rG   numpy.testingr   astropy.modeling.modelsr   r   astropy.modeling.statisticr   r   r   r	   r   r?   r=   r%   r#   <module>rP      s          - - - - - - 5 5 5 5 5 5 5 5           $/ $/ $/ $/ $/ $/ $/ $/N7 7 7 7 7 7 7 7 7 7r%   