
    ih                     b    d Z ddlZddlmc mZ ddlmZm	Z	m
Z
mZ  G d d      Z G d d      Zy)zTests for polyutils module.

    N)assert_almost_equalassert_raisesassert_equalassert_c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestMiscc                 |    t        d      D ].  }dg}t        j                  dgdgdz  z         }t        ||       0 y )N      r   )rangeputrimseqr   )selfitgtress       c/var/www/html/dev/engine/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_polyutils.pytest_trimseqzTestMisc.test_trimseq   s@    q 	#A#C**aSA3q5[)Cc"	#    c                 x   t        t        t        j                  g g       t        t        t        j                  ddggg       t        t        t        j                  dgdgg       g d}t	        t        |            D ]  }t	        |      D ]  }t        j                  d||         }t        j                  d||         }t        j                  ||g      \  }}t        |j                  j                  |j                  j                  k(         t        |j                  j                  ||   k(           y )Nr      a)r   dO)r   
ValueErrorr   	as_seriesr   lennponesr   dtypechar)r   typesr   jcicjresiresjs           r   test_as_serieszTestMisc.test_as_series   s    j",,5j",,1a&
;j",,!se=s5z" 	5A1X 5WWQa)WWQa)!||RH5t

4::??:;

58345	5r   c                    g d}t        t        t        j                  |d       t	        t        j                  |      |d d        t	        t        j                  |d      |d d        t	        t        j                  |d      dg       y )N)r   r   r   r*   r   r   r   )r   r   r   trimcoefr   )r   coefs     r   test_trimcoefzTestMisc.test_trimcoef"   sd    j"++tR8R[[&Sb	2R[[q)495R[[q)A3/r   c                     t        t        t        j                  dddg       t        t        t        j                  dddg       t        t        t        j                  ddg        y )N r   r      Z   gV@)r   r   r   
_vander_ndr   s    r   test_vander_nd_exceptionz!TestMisc.test_vander_nd_exception+   sB    j"--YEj"--R%Aj"--R<r   c                 d    t        t        t        j                  t        j                  ddg       y )Nr1   r   )r   ZeroDivisionErrorr   _divr5   s    r   test_div_zerodivzTestMisc.test_div_zerodiv3   s    '"''9qcJr   c                 L    t        t        t        j                  dg ddd       y )Nr0   r1   r
      )r   r   r   _powr5   s    r   test_pow_too_largezTestMisc.test_pow_too_large7   s    j"''2y!Q?r   N)	__name__
__module____qualname__r   r(   r.   r6   r:   r>   r0   r   r   r   r      s"    #50=K@r   r   c                       e Zd Zd Zd Zd Zy)
TestDomainc                     g d}ddg}t        j                  |      }t        ||       g d}ddg}t        j                  |      }t        ||       y )N)r   
   r2   r*   r*   rE   )y      ?      ?      ?      r   r   y                    @      ?)r   	getdomainr   )r   xr   r   s       r   test_getdomainzTestDomain.test_getdomain=   sN    2hll1oC% #Fmll1oC%r   c                 T   ddg}ddg}|}t        j                  |||      }t        ||       ddg}ddg}|}|}t        j                  |||      }t        ||       ddg}ddg}t        j                  ||g      }t        j                  ||g      }t        j                  |||      }t        ||        G d	 d
t        j
                        }ddg}ddg}t        j                  ||g      j                  |      }t        j                  |||      }t        t        ||             y )Nr   r<   r   r2                 rG   r   c                       e Zd Zy),TestDomain.test_mapdomain.<locals>.MyNDArrayN)r?   r@   rA   r0   r   r   	MyNDArrayrO   c   s    r   rP   )	r   	mapdomainr   r   arrayndarrayviewr   
isinstance)r   dom1dom2r   r   rI   rP   s          r   test_mapdomainzTestDomain.test_mapdomainJ   s&   1v1vll4t,C% Awll1dD)C% 1v1vhhd|$HHdD\"ll1dD)C%	

 	 1v1vHHdD\"''	2ll1dD)
3	*+r   c                     ddg}ddg}ddg}t        j                  ||      }t        ||       ddg}dd	g}d
dg}t        j                  ||      }t        ||       y )Nr   r<   r   r2   g      ?rL   rG   rM   r   y            ?rF   )r   mapparmsr   )r   rV   rW   r   r   s        r   test_mapparmszTestDomain.test_mapparmsl   sp    1v1v"gll4&C% Awkk$%C%r   N)r?   r@   rA   rJ   rX   r[   r0   r   r   rC   rC   ;   s    & ,D&r   rC   )__doc__numpyr   numpy.polynomial.polyutils
polynomial	polyutilsr   numpy.testingr   r   r   r   r   rC   r0   r   r   <module>rb      s6     ' ' 
.@ .@`>& >&r   