a
    p=icû  ã                   @   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                   @   s<   e Z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   t dƒD ]*}dg}t dgdgd  ¡}t||ƒ qd S )Né   é   r   )ÚrangeÚpuZtrimseqr   )ÚselfÚiÚtgtÚres© r   úv/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/numpy/polynomial/tests/test_polyutils.pyÚtest_trimseq   s    zTestMisc.test_trimseqc                 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)r   ÚdÚO)r   Ú
ValueErrorr
   Z	as_seriesr	   ÚlenÚnpZonesr   ZdtypeÚ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_zerodiv3   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_large7   s    zTestMisc.test_pow_too_largeN)	Ú__name__Ú
__module__Ú__qualname__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   r0   )y      ð?      ð?ù      ð?      ð¿r   r   y       €      ð¿ù       @      ð?)r
   Ú	getdomainr   )r   Úxr   r   r   r   r   Útest_getdomain=   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#   ù              ð¿r2   éþÿÿÿr   c                   @   s   e Zd ZdS )z,TestDomain.test_mapdomain.<locals>.MyNDArrayN)r,   r-   r.   r   r   r   r   Ú	MyNDArrayc   s   r8   )	r
   Z	mapdomainr   r   ÚarrayZndarrayÚviewr   Ú
isinstance)r   Údom1Údom2r   r   r4   r8   r   r   r   Útest_mapdomainJ   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      à?r6   r2   r7   r   y      ð¿      ð?r1   )r
   Zmapparmsr   )r   r<   r=   r   r   r   r   r   Útest_mapparmsl   s    
zTestDomain.test_mapparmsN)r,   r-   r.   r5   r>   r?   r   r   r   r   r/   ;   s   "r/   )Ú__doc__Únumpyr   Znumpy.polynomial.polyutilsZ
polynomialZ	polyutilsr
   Znumpy.testingr   r   r   r   r   r/   r   r   r   r   Ú<module>   s
   0