U
    	Ç-eð  ã                   @   sp   d Z ddlmZmZ ddlmZmZmZ ddlm	Z	m
Z
 ddlmZ dd„ Zdd	„ Zd
d„ Zdd„ Zdd„ ZdS )z&Tests for the PolynomialRing classes. é    )ÚQQÚZZ)ÚExactQuotientFailedÚCoercionFailedÚNotReversible)ÚxÚy)Úraisesc                  C   s2   t jttdtfdtffd} |  d¡dks.t‚d S )NÚlexÚilex©Úorder)é   é   ))r   )éûÿÿÿ)r   Úold_poly_ringr   r   r   ÚAssertionError©ÚR© r   ún/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/polys/domains/tests/test_polynomialring.pyÚtest_build_order   s    r   c                     sX  t  tt¡} t  tt¡}| t¡‰ | t¡‰t|ks8t‚dt |ksHt‚ddt  |ks\t‚ˆ|ksht‚ˆ j|ksvt‚ˆ ˆd d  | ttd d  ¡ks t‚ˆ t ˆ ˆ   krÔ| tt ¡  krÔtˆ ksÚn t‚ˆ t ˆ ˆ   kr| tt ¡  krtˆ ksn t‚ˆ t ˆ ˆ   krT| tt ¡  krTtˆ ksZn t‚ˆ d | td ¡ksvt‚tt	‡ ‡fdd„ƒ tt	‡fdd„ƒ tt	‡ fdd„ƒ ˆ d ˆ  ˆ ksÄt‚| 
t tt¡ t¡t tt¡¡ˆ ksðt‚| |  t¡| ¡ˆ kst‚| |  t¡t | ¡d ks,t‚| | ˆ ˆg|j¡d¡ˆ ˆgksTt‚d S )Nr   é   c                      s   ˆ ˆ S ©Nr   r   ©ÚXÚYr   r   Ú<lambda>    ó    z!test_globalring.<locals>.<lambda>c                      s   t ˆ  S r   ©r   r   ©r   r   r   r   !   r   c                      s   ˆ t  S r   ©r   r   ©r   r   r   r   "   r   )r   Úold_frac_fieldr   r   r   Úconvertr   Úringr	   r   Úfrom_GlobalPolynomialRingr   Úfrom_FractionFieldÚ_sdm_to_vectorÚ_vector_to_sdmr   ©ÚQxyr   r   r   r   Útest_globalring   s,    

*:@@, r,   c                	      sˆ  t  tt¡‰ t jttdd‰ˆ t¡‰ˆ t¡‰tˆks<t‚dt ˆksLt‚ddt  ˆks`t‚ˆˆkslt‚ˆjˆkszt‚ˆˆd d  dˆ  ˆ ttd d  dt  ¡ks´t‚ˆt ˆˆ ksÈt‚tt	‡‡fdd„ƒ tt	‡fdd„ƒ tt	‡fdd„ƒ ˆt ˆˆ   kr:ˆ tt ¡  kr:tˆ ks@n t‚ˆt ˆˆ   krzˆ tt ¡  krztˆ ks€n t‚ˆd ˆ td ¡ksœt‚ˆd ˆ ˆks²t‚ˆ 
t tt¡ t¡t tt¡¡ˆksÞt‚ˆ ˆ  t¡ˆ ¡ˆksút‚tt‡ ‡fd	d„ƒ tt	‡‡fd
d„ƒ tt‡fdd„ƒ ˆ ˆ ˆˆd  ˆdˆˆ   gˆj¡d¡ˆdˆˆ   ˆdˆ  gks„t‚d S )Nr   r   r   r   c                      s   ˆ ˆ S r   r   r   r   r   r   r   9   r   z test_localring.<locals>.<lambda>c                      s   t ˆ  S r   r   r   r    r   r   r   :   r   c                      s   ˆ t  S r   r!   r   r"   r   r   r   ;   r   c                      s   ˆ  ˆ  t¡t ˆ ¡S r   )r'   r$   r   r   r   r*   r   r   r   C   r   c                      s   ˆ ˆ S r   r   r   r   r   r   r   D   r   c                      s   ˆ   ¡ S r   )Úinvertr   r"   r   r   r   E   r   )r   r#   r   r   r   r$   r   r%   r	   r   r&   r   r'   r   r   r(   r)   r   r   r   )r+   r   r   r   r   Útest_localring,   s:    

:@@,$ ÿþr.   c                      st   t jttdd‰t  tt¡‰ ˆ t¡ˆ ˆ  t¡ˆ ¡ks<t‚ˆ  t¡ˆ  ˆ t¡ˆ¡ks\t‚tt‡ ‡fdd„ƒ d S )Nr   r   c                      s   ˆ   ˆ  ddt  ¡ˆ¡S )Nr   )r$   r   r   ©ÚGÚLr   r   r   R   r   z!test_conversion.<locals>.<lambda>)r   r   r   r   r$   r   r	   r   r   r   r/   r   Útest_conversionL   s
      r2   c                  C   s&  t  t¡} |  |  d¡¡st‚|  |  d¡¡s2t‚|  |  t¡¡rFt‚|  |  dt ¡¡r^t‚t jtdd} |  |  d¡¡s€t‚|  |  d¡¡s”t‚|  |  t¡¡r¨t‚|  |  dt ¡¡sÀt‚t t¡} |  |  d¡¡sÞt‚|  |  d¡¡ròt‚|  |  t¡¡rt‚|  |  dt ¡¡r"t‚d S )Nr   r   r   r   )r   r   r   Zis_unitr$   r   r   r   r   r   r   Ú
test_unitsU   s    

r3   N)Ú__doc__Zsympy.polys.domainsr   r   Zsympy.polys.polyerrorsr   r   r   Z	sympy.abcr   r   Zsympy.testing.pytestr	   r   r,   r.   r2   r3   r   r   r   r   Ú<module>   s    	