
    MZd                     f    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 Zd Zd Zd	 Zd
 Zy)z&Tests for the PolynomialRing classes.     )QQZZ)ExactQuotientFailedCoercionFailedNotReversible)xy)raisesc                      t        j                  t        t        dt        fdt        ff      } | j	                  d      dk(  sJ y )Nlexilexorder)      ))r   ))r   old_poly_ringr   r	   r   Rs    O/usr/lib/python3/dist-packages/sympy/polys/domains/tests/test_polynomialring.pytest_build_orderr      s9    
Auaj61+%>?A776?m+++    c                     t        j                  t        t              } t        j                  t        t              }|j                  t              |j                  t              t        |v sJ dt        z  |vsJ ddt        z   z  |vsJ |v sJ j                  |k(  sJ dz  dz   z  |j                  t        t        dz  dz   z        k(  sJ t        z  z  cxk(  r-|j                  t        t        z        cxk(  rt        z  k(  sJ  J t        z   z   cxk(  r-|j                  t        t        z         cxk(  rt        z   k(  sJ  J t        z
  z
  cxk(  r-|j                  t        t        z
        cxk(  rt        z
  k(  sJ  J dz   |j                  t        dz         k(  sJ t        t        fd       t        t        fd       t        t        fd       dz  z  k(  sJ |j                  t        j                  t        t              j                  t              t        j                  t        t                    k(  sJ |j                  | j                  t              |       k(  sJ |j                  | j                  t              t        z  |       J |j                  |j                  g|j                        d      gk(  sJ y )Nr      c                       z  S N XYs   r   <lambda>z!test_globalring.<locals>.<lambda>        ! r   c                      t          z  S r   r   r    s   r   r!   z!test_globalring.<locals>.<lambda>!       ! r   c                       t         z  S r   r	   r   s   r   r!   z!test_globalring.<locals>.<lambda>"       ! r   )r   old_frac_fieldr   r	   r   convertringr
   r   from_GlobalPolynomialRingr   from_FractionField_sdm_to_vector_vector_to_sdmr   Qxyr   r   r    s     @@r   test_globalringr4      su   


Aq
!C
AA			!A			!A6M6Q3a<<a!e9A6M666Q;;1q>QYYqAqD1H~6666q5AE6QYYq1u-6Q66666q5AE6QYYq1u-6Q66666q5AE6QYYq1u-6Q66666q5AIIa!e$$$$
,
,
,a4!8q==&&r'7'71'='E'Ea'H"JZJZ[\^_J`aeffffA4999Aq 0#6>>>A,,aVQWW=qAaVKKKr   c            	           t        j                  t        t               t        j                  t        t        d      j                  t              j                  t              t        v sJ dt        z  vsJ ddt        z   z  v sJ v sJ j                  k(  sJ dz  dz   z  dz   z  j                  t        t        dz  dz   z  dt        z   z        k(  sJ t        z  z  k(  sJ t        t        fd       t        t        fd       t        t        fd       t        z   z   cxk(  r-j                  t        t        z         cxk(  rt        z   k(  sJ  J t        z
  z
  cxk(  r-j                  t        t        z
        cxk(  rt        z
  k(  sJ  J dz   j                  t        dz         k(  sJ dz  z  k(  sJ j                  t        j                  t        t              j                  t              t        j                  t        t                    k(  sJ j                   j                  t                     k(  sJ t        t         fd       t        t        fd	       t        t        fd
       j                  j                  dz   z  dz  z   z  gj                         d      dz  z   z  dz   z  gk(  sJ y )Nr   r   r   r   c                       z  S r   r   r   s   r   r!   z test_localring.<locals>.<lambda>9   r"   r   c                      t          z  S r   r$   r%   s   r   r!   z test_localring.<locals>.<lambda>:   r&   r   c                       t         z  S r   r(   r)   s   r   r!   z test_localring.<locals>.<lambda>;   r*   r   c                  \    j                   j                  t              t        z         S r   )r/   r,   r   r	   )r3   r   s   r   r!   z test_localring.<locals>.<lambda>C   s!    1#7#7Aq8H##N r   c                       z  S r   r   r   s   r   r!   z test_localring.<locals>.<lambda>D   r"   r   c                  $     j                         S r   )invertr)   s   r   r!   z test_localring.<locals>.<lambda>E   s    !((* r   )r   r+   r   r	   r   r,   r-   r
   r   r.   r   r/   r   r   r0   r1   r   r2   s   @@@@r   test_localringr=   ,   s   


Aq
!C
AV,A			!A			!A6M6Q3a<<a!e9>>6M666Q;;adQh<Q199Q1q\1q5-A#BBBBQ3!A#::
,
,
,q5AE6QYYq1u-6Q66666q5AE6QYYq1u-6Q66666q5AIIa!e$$$$a4!8q==&&r'7'71'='E'Ea'H"JZJZ[\^_J`aeffffA4999
>NO
,
=,-	!QU)QAaC[1177;Q@	
A!GaQi ! ! !r   c                      t        j                  t        t        d      t        j                  t        t               j	                  t              j	                   j	                  t                     k(  sJ  j	                  t               j	                  j	                  t                    k(  sJ t        t         fd       y )Nr   r   c                  Z     j                  j                  ddt        z   z              S )Nr   )r,   r   GLs   r   r!   z!test_conversion.<locals>.<lambda>R   s#    199QYYq!a%y-A1#E r   )r   r   r   r	   r,   r
   r   r@   s   @@r   test_conversionrC   L   s    
AV,A
AA99Q<199QYYq\1555599Q<199QYYq\15555
>EFr   c                     t        j                  t              } | j                  | j	                  d            sJ | j                  | j	                  d            sJ | j                  | j	                  t                    rJ | j                  | j	                  dt        z               rJ t        j                  t        d      } | j                  | j	                  d            sJ | j                  | j	                  d            sJ | j                  | j	                  t                    rJ | j                  | j	                  dt        z               sJ t        j                  t              } | j                  | j	                  d            sJ | j                  | j	                  d            rJ | j                  | j	                  t                    rJ | j                  | j	                  dt        z               rJ y )Nr   r   r   r   )r   r   r   is_unitr,   r   r   s    r   
test_unitsrF   U   s~   
A99QYYq\"""99QYYq\"""yy1&&&yy1q5)***
&)A99QYYq\"""99QYYq\"""yy1&&&99QYYq1u%&&&
A99QYYq\"""yy1&&&yy1&&&yy1q5)****r   N)__doc__sympy.polys.domainsr   r   sympy.polys.polyerrorsr   r   r   	sympy.abcr   r	   sympy.testing.pytestr
   r   r4   r=   rC   rF   r   r   r   <module>rL      s3    , & U U  ',
L8!@G+r   