a
    ç´«j¼  ã                   @   sV   d Z ddlZddlm  mZ ddlmZm	Z	m
Z
mZ G dd„ dƒZG dd„ dƒZdS )zTests for polyutils module.

é    N)Úassert_almost_equalÚassert_raisesÚassert_equalÚassert_c                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚTestMiscc                 C   s8   dg}t dƒD ]$}t dgdg|  ¡}t||ƒ qd S )Né   é   r   )ÚrangeÚpuÚtrimseqr   )ÚselfÚtgtZnum_trailing_zerosÚres© r   úd/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/polynomial/tests/test_polyutils.pyÚtest_trimseq   s    zTestMisc.test_trimseqc                 C   s.   g t jg t jd�fD ]}tt |¡|ƒ qd S )N)Údtype)ÚnpÚarrayZint32r   r
   r   )r   Z	empty_seqr   r   r   Útest_trimseq_empty_input   s    z!TestMisc.test_trimseq_empty_inputc                 C   sÂ   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 ]l}t|ƒD ]^}t d|| ¡}t d|| ¡}t ||g¡\}}t|j	j
|j	j
kƒ t|j	j
|| kƒ q\qPd S )Nr   é   Úa)ÚiÚdÚO)r   Ú
ValueErrorr
   Z	as_seriesr	   Úlenr   Zonesr   r   Úchar)r   Útypesr   ÚjÚciÚcjZresiZresjr   r   r   Útest_as_series   s    zTestMisc.test_as_seriesc                 C   sb   g d¢}t ttj|dƒ tt |¡|d d… ƒ tt |d¡|d d… ƒ tt |d¡dgƒ d S )N)r   éÿÿÿÿr   r   r#   r   éýÿÿÿr   r   )r   r   r
   Ztrimcoefr   )r   Zcoefr   r   r   Útest_trimcoef&   s
    zTestMisc.test_trimcoefc                 C   s>   t ttjdddgƒ t ttjdddgƒ t ttjddg ƒ d S )Nr   ©r   r   é   éZ   gš™™™™©V@)r   r   r
   Z
_vander_nd©r   r   r   r   Útest_vander_nd_exception/   s    z!TestMisc.test_vander_nd_exceptionc                 C   s   t ttjtjddgƒ d S )Nr&   r   )r   ÚZeroDivisionErrorr
   Ú_divr)   r   r   r   Útest_div_zerodiv7   s    zTestMisc.test_div_zerodivc                 C   s   t ttjdg d¢ddƒ d S )Nr   r&   r   é   )r   r   r
   Z_powr)   r   r   r   Útest_pow_too_large;   s    zTestMisc.test_pow_too_largeN)
Ú__name__Ú
__module__Ú__qualname__r   r   r"   r%   r*   r-   r/   r   r   r   r   r      s   	r   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú
TestDomainc                 C   sL   g d¢}ddg}t  |¡}t||ƒ g d¢}ddg}t  |¡}t||ƒ d S )N)r   é
   r'   r#   r#   r4   )y      ð?      ð?ù      ð?      ð¿r   r   y       €      ð¿ù       @      ð?)r
   Ú	getdomainr   )r   Úxr   r   r   r   r   Útest_getdomainA   s    


zTestDomain.test_getdomainc                 C   sö   ddg}ddg}|}t  |||¡}t||ƒ ddg}ddg}|}|}t  |||¡}t||ƒ ddg}ddg}t ||g¡}t ||g¡}t  |||¡}t||ƒ G d	d
„ d
tjƒ}ddg}ddg}t ||g¡ |¡}t  |||¡}tt||ƒƒ d S )Nr   r.   r   r'   ù              ð¿r6   éþÿÿÿr   c                   @   s   e Zd ZdS )z,TestDomain.test_mapdomain.<locals>.MyNDArrayN)r0   r1   r2   r   r   r   r   Ú	MyNDArrayg   s   r<   )	r
   Z	mapdomainr   r   r   ZndarrayÚviewr   Ú
isinstance)r   Údom1Údom2r   r   r8   r<   r   r   r   Útest_mapdomainN   s.    


zTestDomain.test_mapdomainc                 C   s`   ddg}ddg}ddg}t  ||¡}t||ƒ ddg}dd	g}d
dg}t  ||¡}t||ƒ d S )Nr   r.   r   r'   g      à?r:   r6   r;   r   y      ð¿      ð?r5   )r
   Zmapparmsr   )r   r?   r@   r   r   r   r   r   Útest_mapparmsp   s    
zTestDomain.test_mapparmsN)r0   r1   r2   r9   rA   rB   r   r   r   r   r3   ?   s   "r3   )Ú__doc__Únumpyr   Znumpy.polynomial.polyutilsZ
polynomialZ	polyutilsr
   Znumpy.testingr   r   r   r   r   r3   r   r   r   r   Ú<module>   s
   4