U
    O8Úcû  ã                   @   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   úI/tmp/pip-unpacked-wheel-fd_gsd75/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ƒ dddg}tt|ƒƒD ]l}t|ƒD ]^}t d|| ¡}t d|| ¡}t ||g¡\}}t|j	j
|j	j
kƒ t|j	j
|| kƒ q^qRd S )Nr   é   Úar   Ú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   sf   ddddg}t ttj|dƒ tt |¡|d d… ƒ tt |d¡|d d… ƒ tt |d¡dgƒ d S )Nr   éÿÿÿÿ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
   Z_divr%   r   r   r   Útest_div_zerodiv3   s    zTestMisc.test_div_zerodivc                 C   s   t ttjddddgddƒ d S )Nr   r   r   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   sT   ddddg}ddg}t  |¡}t||ƒ ddddg}d	d
g}t  |¡}t||ƒ d S )Nr   é
   r#   r   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#   ù              ð¿r1   éþÿÿÿr   c                   @   s   e Zd ZdS )z,TestDomain.test_mapdomain.<locals>.MyNDArrayN)r+   r,   r-   r   r   r   r   Ú	MyNDArrayc   s   r7   )	r
   Z	mapdomainr   r   ÚarrayZndarrayÚviewr   Ú
isinstance)r   Údom1Údom2r   r   r3   r7   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      à?r5   r1   r6   r   y      ð¿      ð?r0   )r
   Zmapparmsr   )r   r;   r<   r   r   r   r   r   Útest_mapparmsl   s    
zTestDomain.test_mapparmsN)r+   r,   r-   r4   r=   r>   r   r   r   r   r.   ;   s   "r.   )Ú__doc__Znumpyr   Znumpy.polynomial.polyutilsZ
polynomialZ	polyutilsr
   Znumpy.testingr   r   r   r   r   r.   r   r   r   r   Ú<module>   s
   0