o
    6˜¿aû  ã                   @   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ÚpuÚtrimseqr   )ÚselfÚiÚtgtÚres© r   úG/usr/lib/python3/dist-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 ]6}t|ƒD ]/}t d|| ¡}t d|| ¡}t ||g¡\}}t|j	j
|j	j
kƒ t|j	j
|| kƒ q.q(d S )Nr   é   Úa)r   ÚdÚO)r   Ú
ValueErrorr
   Ú	as_seriesr	   ÚlenÚnpÚonesr   ÚdtypeÚchar)r   Útypesr   ÚjÚciÚcjÚresiÚ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
   Útrimcoefr   )r   Ú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
   Ú
_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
   Ú_powr.   r   r   r   Útest_pow_too_large7   s   zTestMisc.test_pow_too_largeN)	Ú__name__Ú
__module__Ú__qualname__r   r$   r)   r/   r2   r5   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%   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   r3   r   r+   ù              ð¿r<   éþÿÿÿr   c                   @   s   e Zd ZdS )z,TestDomain.test_mapdomain.<locals>.MyNDArrayN)r6   r7   r8   r   r   r   r   Ú	MyNDArrayc   s    rB   )	r
   Ú	mapdomainr   r   ÚarrayÚndarrayÚviewr   Ú
isinstance)r   Údom1Údom2r   r   r>   rB   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   r3   r   r+   g      à?r@   r<   rA   r   y      ð¿      ð?r;   )r
   Úmapparmsr   )r   rH   rI   r   r   r   r   r   Útest_mapparmsl   s   
zTestDomain.test_mapparmsN)r6   r7   r8   r?   rJ   rL   r   r   r   r   r9   ;   s    "r9   )Ú__doc__Únumpyr   Únumpy.polynomial.polyutilsÚ
polynomialÚ	polyutilsr
   Únumpy.testingr   r   r   r   r   r9   r   r   r   r   Ú<module>   s    0