o
    ðT·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ÚtgtÚnum_trailing_zerosÚres© r   úh/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/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ÚarrayÚint32r   r
   r   )r   Ú	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 ]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)ÚiÚdÚO)r   Ú
ValueErrorr
   Ú	as_seriesr	   Úlenr   Úonesr   r   Ú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
   Ú_divr3   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
   Ú_powr3   r   r   r   Útest_pow_too_large;   s   zTestMisc.test_pow_too_largeN)
Ú__name__Ú
__module__Ú__qualname__r   r   r)   r.   r4   r7   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   é
   r0   r*   r*   r?   )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   r8   r   r0   ù              ð¿rA   éþÿÿÿr   c                   @   s   e Zd ZdS )z,TestDomain.test_mapdomain.<locals>.MyNDArrayN)r;   r<   r=   r   r   r   r   Ú	MyNDArrayg   s    rG   )	r
   Ú	mapdomainr   r   r   ÚndarrayÚviewr   Ú
isinstance)r   Údom1Údom2r   r   rC   rG   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   r8   r   r0   g      à?rE   rA   rF   r   y      ð¿      ð?r@   )r
   Úmapparmsr   )r   rL   rM   r   r   r   r   r   Útest_mapparmsp   s   
zTestDomain.test_mapparmsN)r;   r<   r=   rD   rN   rP   r   r   r   r   r>   ?   s    "r>   )Ú__doc__Únumpyr   Únumpy.polynomial.polyutilsÚ
polynomialÚ	polyutilsr
   Únumpy.testingr   r   r   r   r   r>   r   r   r   r   Ú<module>   s    4